[PATCH 13/27] idmap_autorid: don't leak state_path onto talloc tos
David Disseldorp
ddiss at samba.org
Sun Nov 2 12:21:35 MST 2014
Also check for allocation failures.
Signed-off-by: David Disseldorp <ddiss at samba.org>
---
source3/winbindd/idmap_autorid.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c
index 37612c2..eeac2b0 100644
--- a/source3/winbindd/idmap_autorid.c
+++ b/source3/winbindd/idmap_autorid.c
@@ -713,6 +713,7 @@ static NTSTATUS idmap_autorid_initialize(struct idmap_domain *dom)
struct idmap_tdb_common_context *commonconfig;
struct autorid_global_config *config;
NTSTATUS status;
+ char *db_path;
if (!strequal(dom->name, "*")) {
DEBUG(0, ("idmap_autorid_initialize: Error: autorid configured "
@@ -779,9 +780,16 @@ static NTSTATUS idmap_autorid_initialize(struct idmap_domain *dom)
commonconfig->rw_ops->get_new_id = idmap_autorid_allocate_id;
commonconfig->rw_ops->set_mapping = idmap_tdb_common_set_mapping;
- status = idmap_autorid_db_open(state_path("autorid.tdb"),
+ db_path = state_path("autorid.tdb");
+ if (db_path == NULL) {
+ status = NT_STATUS_NO_MEMORY;
+ goto error;
+ }
+
+ status = idmap_autorid_db_open(db_path,
NULL, /* TALLOC_CTX */
&autorid_db);
+ TALLOC_FREE(db_path);
if (!NT_STATUS_IS_OK(status)) {
goto error;
}
--
1.8.4.5
More information about the samba-technical
mailing list