diff options
| -rw-r--r-- | source3/lib/eventlog/eventlog.c | 24 | 
1 files changed, 19 insertions, 5 deletions
diff --git a/source3/lib/eventlog/eventlog.c b/source3/lib/eventlog/eventlog.c index 1c0dba980d..dc14214e36 100644 --- a/source3/lib/eventlog/eventlog.c +++ b/source3/lib/eventlog/eventlog.c @@ -65,14 +65,28 @@ TDB_CONTEXT *elog_init_tdb( char *tdbfilename )  char *elog_tdbname(TALLOC_CTX *ctx, const char *name )  { -	char *path = talloc_asprintf(ctx, "%s/%s.tdb", -			state_path("eventlog"), -			name); +	char *path; +	char *file; +	char *tdbname; + +	path = talloc_strdup(ctx, state_path("eventlog"));  	if (!path) {  		return NULL;  	} -	strlower_m(path); -	return path; + +	file = talloc_asprintf_strlower_m(path, "%s.tdb", name); +	if (!file) { +		talloc_free(path); +		return NULL; +	} + +	tdbname = talloc_asprintf(path, "%s/%s", state_path("eventlog"), file); +	if (!tdbname) { +		talloc_free(path); +		return NULL; +	} + +	return tdbname;  }  | 
