From 6fd4724fb95cda3adfee37b6bde7e526e423083d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 13 Dec 2012 17:50:55 +0100 Subject: s3-eventlog: Make sure the eventlog directory exists. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found by Coverity. Signed-off-by: Andreas Schneider Reviewed-by: Günther Deschner --- source3/lib/eventlog/eventlog.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source3/lib/eventlog') diff --git a/source3/lib/eventlog/eventlog.c b/source3/lib/eventlog/eventlog.c index 67583b8666..0cc0240bcc 100644 --- a/source3/lib/eventlog/eventlog.c +++ b/source3/lib/eventlog/eventlog.c @@ -340,6 +340,7 @@ ELOG_TDB *elog_open_tdb( const char *logname, bool force_clear, bool read_only ) ELOG_TDB *tdb_node = NULL; char *eventlogdir; TALLOC_CTX *ctx = talloc_tos(); + bool ok; /* check for invalid options */ @@ -372,8 +373,10 @@ ELOG_TDB *elog_open_tdb( const char *logname, bool force_clear, bool read_only ) /* make sure that the eventlog dir exists */ eventlogdir = state_path( "eventlog" ); - if ( !directory_exist( eventlogdir ) ) - mkdir( eventlogdir, 0755 ); + ok = directory_create_or_exist(eventlogdir, geteuid(), 0755); + if (!ok) { + return NULL; + } /* get the path on disk */ -- cgit