diff options
author | Peter Palfrader <peter@palfrader.org> | 2008-03-13 16:56:14 +0000 |
---|---|---|
committer | Peter Palfrader <peter@palfrader.org> | 2008-03-13 16:56:14 +0000 |
commit | e6b2d119e893031cb3cc83b5e65c9e04272376bf (patch) | |
tree | ad3a4b87c39ac403274e11a2420ecb019b57fa7f | |
parent | 925ba96508c4914f536d9075f192b9d62c1d1a2f (diff) | |
download | tor-e6b2d119e893031cb3cc83b5e65c9e04272376bf.tar tor-e6b2d119e893031cb3cc83b5e65c9e04272376bf.tar.gz |
Assert that severity in logv() is sane. Interesting effects otherwise (It is being used as an array index)
svn:r14006
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/common/log.c | 3 |
2 files changed, 4 insertions, 0 deletions
@@ -20,6 +20,7 @@ Changes in version 0.2.1.1-alpha - 2008-??-?? 614. Bugfix on 0.1.2.x. - Make --enable-openbsd-malloc work correctly on Linux with alpha CPUs. Fixes bug 625. Bugfix on 0.2.0.x. + - Logging functions now check that the passed severity is sane. o Minor features: - Allow separate log levels to be configured for different logging diff --git a/src/common/log.c b/src/common/log.c index 1f541d976..e169a3f6c 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -261,6 +261,9 @@ logv(int severity, log_domain_mask_t domain, const char *funcname, /* Call assert, not tor_assert, since tor_assert calls log on failure. */ assert(format); + /* check that severity is sane. Overrunning the masks array leads to + * interesting and hard to diagnose effects */ + assert(severity >= LOG_ERR && severity <= LOG_DEBUG); LOCK_LOGS(); lf = logfiles; while (lf) { |