[PATCH 00/27] fix talloc stackframe leaks in remaining xx_path callers
David Disseldorp
ddiss at samba.org
Sun Nov 2 12:21:22 MST 2014
cache_path(), lock_path() and state_path() all call xx_path() to return
a string allocated on the talloc_tos() context. The majority of the
callers do not free the returned string, nor do they check for
allocation failures.
The cache_path() callers were fixed with
https://lists.samba.org/archive/samba-technical/2014-October/102836.html
This patch-set addresses the remaining lock_path() and state_path()
callers.
Feedback appreciated.
Cheers, David
--
David Disseldorp (27):
groupdb: don't leak state_path onto talloc tos
eventlog: don't leak state_path onto talloc tos
sharesec: don't leak state_path onto talloc tos
nmbd_winsserver: don't leak state_path onto talloc tos
account_pol: don't leak state_path onto talloc tos
pdb_tdb: don't leak state_path onto talloc tos
nt_printing: don't leak state_path onto talloc tos
reg_backend_db: don't leak state_path onto talloc tos
reg_perfcount: don't leak state_path onto talloc tos
net_idmap: don't leak state_path onto talloc tos
net_registry: don't leak state_path onto talloc tos
smbcontrol: don't leak state_path onto talloc tos
idmap_autorid: don't leak state_path onto talloc tos
winbindd: don't leak state_path onto talloc tos
winbindd_cache: don't leak state_path onto talloc tos
lang_tdb: don't leak lock_path or data_path onto talloc tos
dbwrap_watch: don't leak lock_path onto talloc tos
g_lock: don't leak lock_path onto talloc tos
server_mutex: don't leak lock_path onto talloc tos
serverid: don't leak lock_path onto talloc tos
brlock: don't leak lock_path onto talloc tos
share_mode_lock: don't leak lock_path onto talloc tos
nmbd_namelistdb: don't leak lock_path onto talloc tos
printer_list: don't leak lock_path onto talloc tos
notify_internal: don't leak lock_path onto talloc tos
smbXsrv: don't leak lock_path onto talloc tos
smbstatus: check for lock_path talloc failures
source3/groupdb/mapping_tdb.c | 19 ++++++++++++++++---
source3/intl/lang_tdb.c | 23 ++++++++++++++++++-----
source3/lib/dbwrap/dbwrap_watch.c | 8 +++++++-
source3/lib/eventlog/eventlog.c | 10 +++++++---
source3/lib/g_lock.c | 10 +++++++++-
source3/lib/server_mutex.c | 7 ++++++-
source3/lib/serverid.c | 10 +++++++++-
source3/lib/sharesec.c | 12 ++++++++++--
source3/locking/brlock.c | 13 +++++++++++--
source3/locking/share_mode_lock.c | 11 +++++++++--
source3/nmbd/nmbd_namelistdb.c | 17 ++++++++++++-----
source3/nmbd/nmbd_winsserver.c | 20 ++++++++++++++++++--
source3/passdb/account_pol.c | 12 ++++++++++--
source3/passdb/pdb_tdb.c | 10 ++++++++--
source3/printing/nt_printing_migrate_internal.c | 25 +++++++++++++++++++------
source3/printing/nt_printing_tdb.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
source3/printing/printer_list.c | 11 +++++++++--
source3/registry/reg_backend_db.c | 37 ++++++++++++++++++++++++++++---------
source3/registry/reg_perfcount.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------
source3/smbd/notify_internal.c | 21 ++++++++++++++++++---
source3/smbd/smbXsrv_open.c | 6 +++++-
source3/smbd/smbXsrv_session.c | 6 +++++-
source3/smbd/smbXsrv_tcon.c | 6 +++++-
source3/smbd/smbXsrv_version.c | 4 ++++
source3/utils/net_idmap.c | 24 +++++++++++++++++-------
source3/utils/net_registry.c | 17 ++++++++++++-----
source3/utils/smbcontrol.c | 24 ++++++++++++++++++++----
source3/utils/status.c | 25 +++++++++++++++++++++----
source3/winbindd/idmap_autorid.c | 10 +++++++++-
source3/winbindd/winbindd.c | 9 ++++++++-
source3/winbindd/winbindd_cache.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
31 files changed, 523 insertions(+), 153 deletions(-)
More information about the samba-technical
mailing list