Don't start malloc() logging until the log system is configured.

This commit is contained in:
Simon Kelley committed 2026-01-25 12:20:04 +00:00
1 parent f1fa05d754
commit 80acb76f46
3 files changed
+13 -6

No files matched your search

+3
View File
@@ -864,6 +864,9 @@ int main (int argc, char **argv)
}
#endif
/* Don't start logging malloc before logging is set up. */
daemon->log_malloc = option_bool(OPT_LOG_MALLOC);
if (daemon->port == 0)
my_syslog(LOG_INFO, _("started, version %s DNS disabled"), VERSION);
else
+1
View File
@@ -1208,6 +1208,7 @@ extern struct daemon {
int log_fac; /* log facility */
char *log_file; /* optional log file */
int max_logs; /* queue limit */
int log_malloc; /* log malloc/realloc/free */
int randport_limit; /* Maximum number of source ports for query. */
int cachesize, ftabsize;
int port, query_port, min_port, max_port;
+9 -6
View File
@@ -938,7 +938,7 @@ void *whine_malloc_real(const char *func, unsigned int line, size_t size)
if (!ret)
my_syslog(LOG_ERR, _("failed to allocate %d bytes"), (int) size);
else if (option_bool(OPT_LOG_MALLOC))
else if (daemon->log_malloc)
my_syslog(LOG_INFO, _("malloc: %s:%u %zu bytes at %x"), func, line, size, hash_ptr(ret));
return ret;
@@ -951,17 +951,20 @@ void *whine_realloc_real(const char *func, unsigned int line, void *ptr, size_t
if (!ret)
my_syslog(LOG_ERR, _("failed to reallocate %d bytes"), (int) size);
else if (option_bool(OPT_LOG_MALLOC))
else if (daemon->log_malloc)
my_syslog(LOG_INFO, _("realloc: %s:%u %zu bytes from %x to %x"), func, line, size, old, hash_ptr(ret));
return ret;
}
#undef free
void free_real(const char *func, unsigned int line, void *ptr)
{
if (ptr && option_bool(OPT_LOG_MALLOC))
my_syslog(LOG_INFO, _("free: %s:%u block at %x"), func, line, hash_ptr(ptr));
if (ptr)
{
if (daemon->log_malloc)
my_syslog(LOG_INFO, _("free: %s:%u block at %x"), func, line, hash_ptr(ptr));
#undef free
free(ptr);
free(ptr);
}
}