File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -946,6 +946,17 @@ cupsdReadConfiguration(void)
946946
947947 ServerNameIsIP = !* slash ;
948948
949+ /*
950+ * If the ErrorLog value contains "%s", close the current log file (if any)
951+ * so that the proper ServerName value is used when logging.
952+ */
953+
954+ if (ErrorLog && strstr (ErrorLog , "%s" ) && ErrorFile && ErrorFile != LogStderr )
955+ {
956+ cupsFileClose (ErrorFile );
957+ ErrorFile = NULL ;
958+ }
959+
949960 /*
950961 * Make sure ServerAdmin is initialized...
951962 */
Original file line number Diff line number Diff line change @@ -153,11 +153,12 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
153153 strlcat (filename , "/" , sizeof (filename ));
154154 }
155155 else
156+ {
156157 filename [0 ] = '\0' ;
158+ }
157159
158- for (logptr = logname , ptr = filename + strlen (filename );
159- * logptr && ptr < (filename + sizeof (filename ) - 1 );
160- logptr ++ )
160+ for (logptr = logname , ptr = filename + strlen (filename ); * logptr && ptr < (filename + sizeof (filename ) - 1 ); logptr ++ )
161+ {
161162 if (* logptr == '%' )
162163 {
163164 /*
@@ -171,7 +172,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
171172 * Insert the server name...
172173 */
173174
174- strlcpy (ptr , ServerName , sizeof (filename ) - (size_t )(ptr - filename ));
175+ strlcpy (ptr , ServerName ? ServerName : "localhost" , sizeof (filename ) - (size_t )(ptr - filename ));
175176 ptr += strlen (ptr );
176177 }
177178 else
@@ -184,7 +185,10 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
184185 }
185186 }
186187 else
188+ {
187189 * ptr ++ = * logptr ;
190+ }
191+ }
188192
189193 * ptr = '\0' ;
190194 }
You can’t perform that action at this time.
0 commit comments