diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/groupdb/mapping.c | 6 | ||||
-rw-r--r-- | source3/locking/brlock.c | 16 | ||||
-rw-r--r-- | source3/locking/locking.c | 16 | ||||
-rw-r--r-- | source3/locking/posix.c | 38 | ||||
-rw-r--r-- | source3/msdfs/msdfs.c | 4 |
5 files changed, 36 insertions, 44 deletions
diff --git a/source3/groupdb/mapping.c b/source3/groupdb/mapping.c index fee6bf248a..a6a63cbc2a 100644 --- a/source3/groupdb/mapping.c +++ b/source3/groupdb/mapping.c @@ -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; diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c index 2b21761cb2..b16cc539c8 100644 --- a/source3/locking/brlock.c +++ b/source3/locking/brlock.c @@ -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); } diff --git a/source3/locking/locking.c b/source3/locking/locking.c index 4092c989d0..750ebe6716 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -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; } diff --git a/source3/locking/posix.c b/source3/locking/posix.c index eb5e4b6460..8fbe2e2fda 100644 --- a/source3/locking/posix.c +++ b/source3/locking/posix.c @@ -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); } /******************************************************************* diff --git a/source3/msdfs/msdfs.c b/source3/msdfs/msdfs.c index 51d60608a2..5aaca4ef34 100644 --- a/source3/msdfs/msdfs.c +++ b/source3/msdfs/msdfs.c @@ -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; } |