tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit aa6b4b62db0ef9e0e9e4c9d716d7b860f8f4a238
parent 94853b4ab6930b0be92bd3e62ffe761b12493c96
Author: Nick Mathewson <nickm@torproject.org>
Date:   Fri, 25 Oct 2019 08:08:43 -0400

confparse: Add a function to check the magic of a toplevel object.

Diffstat:
Msrc/lib/confmgt/confparse.c | 11+++++++++++
Msrc/lib/confmgt/confparse.h | 2++
2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/lib/confmgt/confparse.c b/src/lib/confmgt/confparse.c @@ -334,6 +334,17 @@ config_mgr_list_deprecated_vars(const config_mgr_t *mgr) return result; } +/** + * Check the magic number on <b>object</b> to make sure it's a valid toplevel + * object, created with <b>mgr</b>. Exit with an assertion if it isn't. + **/ +void +config_check_toplevel_magic(const config_mgr_t *mgr, + const void *object) +{ + struct_check_magic(object, &mgr->toplevel_magic); +} + /** Assert that the magic fields in <b>options</b> and its subsidiary * objects are all okay. */ static void diff --git a/src/lib/confmgt/confparse.h b/src/lib/confmgt/confparse.h @@ -232,6 +232,8 @@ void *config_dup(const config_mgr_t *mgr, const void *old); char *config_dump(const config_mgr_t *mgr, const void *default_options, const void *options, int minimal, int comment_defaults); +void config_check_toplevel_magic(const config_mgr_t *mgr, + const void *object); bool config_check_ok(const config_mgr_t *mgr, const void *options, int severity); int config_assign(const config_mgr_t *mgr, void *options,