From adb8ec96f2918fa7b39722ead6b2fe949fc3a7c5 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Wed, 14 Oct 2015 16:28:40 +0000 Subject: [PATCH] util: add functions for validating syslog level and facility --- src/basic/util.c | 8 ++++++++ src/basic/util.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/basic/util.c b/src/basic/util.c index ca5e4be..8b896a2 100644 --- a/src/basic/util.c +++ b/src/basic/util.c @@ -3699,6 +3699,10 @@ static const char *const log_facility_unshifted_table[LOG_NFACILITIES] = { DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(log_facility_unshifted, int, LOG_FAC(~0)); +bool log_facility_unshifted_is_valid(int facility) { + return facility >= 0 && facility <= LOG_FAC(~0); +} + static const char *const log_level_table[] = { [LOG_EMERG] = "emerg", [LOG_ALERT] = "alert", @@ -3712,6 +3716,10 @@ static const char *const log_level_table[] = { DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(log_level, int, LOG_DEBUG); +bool log_level_is_valid(int level) { + return level >= 0 && level <= LOG_DEBUG; +} + static const char* const sched_policy_table[] = { [SCHED_OTHER] = "other", [SCHED_BATCH] = "batch", diff --git a/src/basic/util.h b/src/basic/util.h index 79c7ad1..2544ad0 100644 --- a/src/basic/util.h +++ b/src/basic/util.h @@ -456,9 +456,11 @@ int sigchld_code_from_string(const char *s) _pure_; int log_facility_unshifted_to_string_alloc(int i, char **s); int log_facility_unshifted_from_string(const char *s); +bool log_facility_unshifted_is_valid(int faciliy); int log_level_to_string_alloc(int i, char **s); int log_level_from_string(const char *s); +bool log_level_is_valid(int level); int sched_policy_to_string_alloc(int i, char **s); int sched_policy_from_string(const char *s); -- 2.7.4