[tor-bugs] #23643 [Core Tor/Tor]: Type-check struct members that are passed to confparse
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Sep 25 20:42:57 UTC 2017
#23643: Type-check struct members that are passed to confparse
--------------------------+------------------------------------
Reporter: nickm | Owner: nickm
Type: defect | Status: needs_revision
Priority: Medium | Milestone: Tor: 0.3.2.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: catalyst | Sponsor:
--------------------------+------------------------------------
Comment (by catalyst):
Something like this?
{{{
union dummyaddrs {
char **a_str;
int *a_int;
double *a_double;
const char **a_cstr;
};
typedef struct {
const char *name;
int typenum;
union dummyaddrs _;
} config_var_t;
typedef struct {
char *foostr;
int fooint;
const char *foocstr;
} some_opts;
#define optline(name, tnum, checktype) \
{ #name, tnum, { .checktype = &opts0.name } }
static some_opts opts0;
config_var_t cvars[];
config_var_t cvars[] = {
optline(fooint, 0, a_int),
optline(foostr, 0, a_str),
optline(foocstr, 0, a_cstr),
};
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23643#comment:9>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list