1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

move to SAFE_FREE()

This commit is contained in:
Simo Sorce 0001-01-01 00:00:00 +00:00
parent 23dc3fc700
commit e61aec84ed
5 changed files with 36 additions and 44 deletions

View File

@ -294,7 +294,7 @@ BOOL get_group_map_from_gid(gid_t gid, GROUP_MAP *map)
for (kbuf = tdb_firstkey(tdb);
kbuf.dptr;
newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf=newkey) {
newkey = tdb_nextkey(tdb, kbuf), safe_free(kbuf.dptr), kbuf=newkey) {
if (strncmp(kbuf.dptr, GROUP_PREFIX, strlen(GROUP_PREFIX)) != 0) continue;
@ -331,7 +331,7 @@ BOOL get_group_map_from_ntname(char *name, GROUP_MAP *map)
for (kbuf = tdb_firstkey(tdb);
kbuf.dptr;
newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf=newkey) {
newkey = tdb_nextkey(tdb, kbuf), safe_free(kbuf.dptr), kbuf=newkey) {
if (strncmp(kbuf.dptr, GROUP_PREFIX, strlen(GROUP_PREFIX)) != 0) continue;
@ -404,7 +404,7 @@ BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap,
for (kbuf = tdb_firstkey(tdb);
kbuf.dptr;
newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf=newkey) {
newkey = tdb_nextkey(tdb, kbuf), safe_free(kbuf.dptr), kbuf=newkey) {
if (strncmp(kbuf.dptr, GROUP_PREFIX, strlen(GROUP_PREFIX)) != 0)
continue;

View File

@ -347,12 +347,12 @@ NTSTATUS brl_lock(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
tdb_store(tdb, kbuf, dbuf, TDB_REPLACE);
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return NT_STATUS_OK;
fail:
if (dbuf.dptr) free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return status;
}
@ -411,7 +411,7 @@ BOOL brl_unlock(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
tdb_store(tdb, kbuf, dbuf, TDB_REPLACE);
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return True;
}
@ -439,7 +439,7 @@ BOOL brl_unlock(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
tdb_store(tdb, kbuf, dbuf, TDB_REPLACE);
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return True;
}
@ -448,7 +448,7 @@ BOOL brl_unlock(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
/* we didn't find it */
fail:
if (dbuf.dptr) free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return False;
}
@ -501,12 +501,12 @@ BOOL brl_locktest(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
}
/* no conflicts - we could have added it */
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return True;
fail:
if (dbuf.dptr) free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
return False;
}
@ -559,7 +559,7 @@ void brl_close(SMB_DEV_T dev, SMB_INO_T ino, pid_t pid, int tid, int fnum)
/* we didn't find it */
fail:
if (dbuf.dptr) free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
tdb_chainunlock(tdb, kbuf);
}

View File

@ -436,7 +436,7 @@ int get_share_modes(connection_struct *conn,
ret = data->num_share_mode_entries;
if(ret)
*shares = (share_mode_entry *)memdup(dbuf.dptr + sizeof(*data), ret * sizeof(**shares));
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
if (! *shares)
return 0;
@ -537,7 +537,7 @@ ssize_t del_share_entry( SMB_DEV_T dev, SMB_INO_T inode,
count = -1;
}
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return count;
}
@ -592,7 +592,7 @@ BOOL set_share_mode(files_struct *fsp, uint16 port, uint16 op_type)
dbuf.dsize = size;
if (tdb_store(tdb, locking_key_fsp(fsp), dbuf, TDB_REPLACE) == -1)
ret = False;
free(p);
SAFE_FREE(p);
return ret;
}
@ -608,12 +608,12 @@ BOOL set_share_mode(files_struct *fsp, uint16 port, uint16 op_type)
fill_share_mode(p + sizeof(*data), fsp, port, op_type);
memcpy(p + sizeof(*data) + sizeof(share_mode_entry), dbuf.dptr + sizeof(*data),
dbuf.dsize - sizeof(*data));
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
dbuf.dptr = p;
dbuf.dsize = size;
if (tdb_store(tdb, locking_key_fsp(fsp), dbuf, TDB_REPLACE) == -1)
ret = False;
free(p);
SAFE_FREE(p);
return ret;
}
@ -658,7 +658,7 @@ static BOOL mod_share_mode( SMB_DEV_T dev, SMB_INO_T inode, share_mode_entry *en
}
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return need_store;
}
@ -748,12 +748,12 @@ BOOL modify_delete_flag( SMB_DEV_T dev, SMB_INO_T inode, BOOL delete_on_close)
/* store it back */
if (data->num_share_mode_entries) {
if (tdb_store(tdb, locking_key(dev,inode), dbuf, TDB_REPLACE)==-1) {
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return False;
}
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return True;
}

View File

@ -107,8 +107,7 @@ static BOOL add_fd_to_close_entry(files_struct *fsp)
tp = Realloc(dbuf.dptr, dbuf.dsize + sizeof(int));
if (!tp) {
DEBUG(0,("add_fd_to_close_entry: Realloc fail !\n"));
if (dbuf.dptr)
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return False;
} else
dbuf.dptr = tp;
@ -120,7 +119,7 @@ static BOOL add_fd_to_close_entry(files_struct *fsp)
DEBUG(0,("add_fd_to_close_entry: tdb_store fail !\n"));
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return True;
}
@ -240,17 +239,16 @@ int fd_close_posix(struct connection_struct *conn, files_struct *fsp)
*/
if (!add_fd_to_close_entry(fsp)) {
free((char *)entries);
SAFE_FREE(entries);
return False;
}
free((char *)entries);
SAFE_FREE(entries);
fsp->fd = -1;
return 0;
}
if(entries)
free((char *)entries);
SAFE_FREE(entries);
/*
* No outstanding POSIX locks. Get the pending close fd's
@ -276,8 +274,7 @@ int fd_close_posix(struct connection_struct *conn, files_struct *fsp)
delete_close_entries(fsp);
}
if (fd_array)
free((char *)fd_array);
SAFE_FREE(fd_array);
/*
* Finally close the fd associated with this fsp.
@ -338,13 +335,12 @@ static BOOL delete_posix_lock_entry_by_index(files_struct *fsp, size_t entry)
tdb_store(posix_lock_tdb, kbuf, dbuf, TDB_REPLACE);
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return True;
fail:
if (dbuf.dptr)
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return False;
}
@ -391,7 +387,7 @@ static BOOL add_posix_lock_entry(files_struct *fsp, SMB_OFF_T start, SMB_OFF_T s
goto fail;
}
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
DEBUG(10,("add_posix_lock: File %s: type = %s: start=%.0f size=%.0f: dev=%.0f inode=%.0f\n",
fsp->fsp_name, posix_lock_type_name(lock_type), (double)start, (double)size,
@ -400,8 +396,7 @@ static BOOL add_posix_lock_entry(files_struct *fsp, SMB_OFF_T start, SMB_OFF_T s
return True;
fail:
if (dbuf.dptr)
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return False;
}
@ -499,14 +494,12 @@ static int delete_posix_lock_entry(files_struct *fsp, SMB_OFF_T start, SMB_OFF_T
posix_lock_type_name(pl->lock_type), (double)pl->start, (double)pl->size,
(unsigned int)num_overlapping_records ));
if (dbuf.dptr)
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return num_overlapping_records;
fail:
if (dbuf.dptr)
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return -1;
}
@ -955,8 +948,7 @@ lock: start = %.0f, size = %.0f\n", (double)l_curr->start, (double)l_curr->size,
} /* end for ( l_curr = lhead; l_curr;) */
} /* end for (i=0; i<num_locks && ul_head; i++) */
if (dbuf.dptr)
free(dbuf.dptr);
SAFE_FREE(dbuf.dptr);
return lhead;
}
@ -1266,7 +1258,7 @@ void posix_locking_close_file(files_struct *fsp)
/* All locks are ours. */
DEBUG(10,("posix_locking_close_file: file %s has %u outstanding locks, but all on one fd.\n",
fsp->fsp_name, (unsigned int)count ));
free((char *)entries);
SAFE_FREE(entries);
delete_posix_lock_entries(fsp);
return;
}
@ -1281,7 +1273,7 @@ void posix_locking_close_file(files_struct *fsp)
if (pl->fd == fsp->fd)
release_posix_lock(fsp, (SMB_BIG_UINT)pl->start, (SMB_BIG_UINT)pl->size );
}
free((char *)entries);
SAFE_FREE(entries);
}
/*******************************************************************

View File

@ -443,7 +443,7 @@ static int setup_ver2_dfs_referral(char* pathname, char** ppdata,
}
/* add in the unexplained 22 (0x16) bytes at the end */
memset(pdata+uni_curroffset,'\0',0x16);
free(junction->referral_list);
SAFE_FREE(junction->referral_list);
return reply_size;
}
@ -523,7 +523,7 @@ static int setup_ver3_dfs_referral(char* pathname, char** ppdata,
uni_curroffset += unilen;
offset += VERSION3_REFERRAL_SIZE;
}
free(junction->referral_list);
SAFE_FREE(junction->referral_list);
return reply_size;
}