summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kneschke <jan@kneschke.de>2005-03-06 11:20:35 +0000
committerJan Kneschke <jan@kneschke.de>2005-03-06 11:20:35 +0000
commite1fb43d9ddca6f84d069671fad19efe379738d32 (patch)
treeeceafef364d97befff2fc827e14ccd3acf536411
parent2c3151cae6bd987764c579ac7aba5bf41ff02216 (diff)
downloadlighttpd-git-e1fb43d9ddca6f84d069671fad19efe379738d32.tar.gz
fixed NULL dereference in logfile cycling if accesslog is not set
git-svn-id: svn://svn.lighttpd.net/lighttpd/trunk@98 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r--src/mod_accesslog.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mod_accesslog.c b/src/mod_accesslog.c
index 1ed0f3ea..7cec5cd2 100644
--- a/src/mod_accesslog.c
+++ b/src/mod_accesslog.c
@@ -532,7 +532,7 @@ SIGHUP_FUNC(log_access_cycle) {
for (i = 0; i < srv->config_context->used; i++) {
plugin_config *s = p->config_storage[i];
- if(s->access_logbuffer->used) {
+ if (s->access_logbuffer->used) {
if (s->use_syslog) {
#ifdef HAVE_SYSLOG_H
syslog(LOG_INFO, "%*s", s->access_logbuffer->used - 1, s->access_logbuffer->ptr);
@@ -540,10 +540,12 @@ SIGHUP_FUNC(log_access_cycle) {
} else if (s->log_access_fd != -1) {
write(s->log_access_fd, s->access_logbuffer->ptr, s->access_logbuffer->used - 1);
}
- s->access_logbuffer->used = 0;
+
+ buffer_reset(s->access_logbuffer);
}
if (s->use_syslog == 0 &&
+ !buffer_is_empty(s->access_logfile) &&
s->access_logfile->ptr[0] != '|') {
close(s->log_access_fd);