From e6b2d119e893031cb3cc83b5e65c9e04272376bf Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Thu, 13 Mar 2008 16:56:14 +0000 Subject: [PATCH] Assert that severity in logv() is sane. Interesting effects otherwise (It is being used as an array index) svn:r14006 --- ChangeLog | 1 + src/common/log.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index fdf15dfbc6..f0da086c3a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 1f541d976f..e169a3f6cc 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) {