git://git.exim.org
/
users
/
jgh
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Hurd: account for setgroups() being callable unprivileged
[users/jgh/exim.git]
/
src
/
exim_monitor
/
em_main.c
diff --git
a/src/exim_monitor/em_main.c
b/src/exim_monitor/em_main.c
index 22a721d5217bdbf9b4ec2d6d08404de61a783664..9c7f442e5b4e974d51f49cd2ba64b94a5be1ec56 100644
(file)
--- a/
src/exim_monitor/em_main.c
+++ b/
src/exim_monitor/em_main.c
@@
-2,7
+2,7
@@
* Exim Monitor *
*************************************************/
* Exim Monitor *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 20
09
*/
+/* Copyright (c) University of Cambridge 1995 - 20
18
*/
/* See the file NOTICE for conditions of use and distribution. */
/* See the file NOTICE for conditions of use and distribution. */
@@
-613,8
+613,7
@@
message_subdir[1] = 0;
constructing file names and things. This call will initialize
the store_get() function. */
constructing file names and things. This call will initialize
the store_get() function. */
-big_buffer_size = 1024;
-big_buffer = store_get(big_buffer_size);
+big_buffer = store_get(big_buffer_size, FALSE);
/* Set up the version string and date and output them */
/* Set up the version string and date and output them */
@@
-632,7
+631,7
@@
signal(SIGCHLD, sigchld_handler);
/* Get the buffer for storing the string for the log display. */
/* Get the buffer for storing the string for the log display. */
-log_display_buffer =
(uschar *)
store_malloc(log_buffer_size);
+log_display_buffer =
US
store_malloc(log_buffer_size);
log_display_buffer[0] = 0;
/* Initialize the data structures for the stripcharts */
log_display_buffer[0] = 0;
/* Initialize the data structures for the stripcharts */
@@
-654,7
+653,9
@@
today.) */
if (log_file[0] != 0)
{
if (log_file[0] != 0)
{
- (void)string_format(log_file_open, sizeof(log_file_open), CS log_file);
+ /* Do *not* use "%s" here, we need the %D datestamp in the log_file to
+ be expanded! */
+ (void)string_format(log_file_open, sizeof(log_file_open), CS log_file, NULL);
log_datestamping = string_datestamp_offset >= 0;
LOG = fopen(CS log_file_open, "r");
log_datestamping = string_datestamp_offset >= 0;
LOG = fopen(CS log_file_open, "r");
@@
-668,8
+669,14
@@
if (log_file[0] != 0)
{
fseek(LOG, 0, SEEK_END);
log_position = ftell(LOG);
{
fseek(LOG, 0, SEEK_END);
log_position = ftell(LOG);
- fstat(fileno(LOG), &statdata);
- log_inode = statdata.st_ino;
+ if (fstat(fileno(LOG), &statdata))
+ {
+ perror("log file fstat");
+ fclose(LOG);
+ LOG=NULL;
+ }
+ else
+ log_inode = statdata.st_ino;
}
}
else
}
}
else