]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#6949 Allow for fd 0
authorOndřej Kuzník <ondra@mistotebe.net>
Wed, 8 Sep 2021 13:20:56 +0000 (14:20 +0100)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 8 Sep 2021 15:53:02 +0000 (15:53 +0000)
servers/slapd/logging.c

index 485387f8a10343f97ae5a41294adab39e8dcd280..403ec27f83644106836608dbce4b3fc8c1a0a2c2 100644 (file)
@@ -39,7 +39,7 @@ ldap_pvt_thread_mutex_t logfile_mutex;
 
 static off_t logfile_fsize;
 static time_t logfile_fcreated;
-static int logfile_fd;
+static int logfile_fd = -1;
 static char logpaths[2][MAXPATHLEN];
 static int logpathlen;
 
@@ -69,7 +69,7 @@ slap_debug_print( const char *data )
        iov[1].iov_len = strlen( data );
        if ( !logfile_only )
                writev( 2, iov, 2 );
-       if ( logfile_fd ) {
+       if ( logfile_fd >= 0 ) {
                int len = iov[0].iov_len + iov[1].iov_len;
                if ( logfile_fslimit || logfile_age ) {
                        ldap_pvt_thread_mutex_lock( &logfile_mutex );
@@ -79,6 +79,7 @@ slap_debug_print( const char *data )
                                rotate |= 2;
                        if ( rotate ) {
                                close( logfile_fd );
+                               logfile_fd = -1;
                                strcpy( logpaths[0]+logpathlen, ".tmp" );
                                rename( logfile_path, logpaths[0] );
                                logfile_open( logfile_path );
@@ -105,9 +106,9 @@ slap_debug_print( const char *data )
 void
 logfile_close()
 {
-       if ( logfile_fd ) {
+       if ( logfile_fd >= 0 ) {
                close( logfile_fd );
-               logfile_fd = 0;
+               logfile_fd = -1;
        }
        logfile_path[0] = '\0';
 }