Finally, a patch of my own. This patch addresses a bunch of the compiler string conversion warnings that were introduced with the C++-ification patch.
Signed-off-by: Steve Beattie <[email protected]> --- parser/libapparmor_re/aare_rules.cc | 4 ++-- parser/libapparmor_re/aare_rules.h | 4 ++-- parser/parser.h | 14 +++++++------- parser/parser_common.c | 6 +++--- parser/parser_include.c | 10 +++++----- parser/parser_include.h | 2 +- parser/parser_interface.c | 18 +++++++++--------- parser/parser_main.c | 8 ++++---- parser/parser_misc.c | 8 ++++---- parser/parser_regex.c | 12 +++++++----- parser/parser_variable.c | 34 +++++++++++++++++----------------- 11 files changed, 61 insertions(+), 59 deletions(-) Index: b/parser/parser.h =================================================================== --- a/parser/parser.h +++ b/parser/parser.h @@ -234,14 +234,14 @@ extern int names_only; extern int option; extern int current_lineno; extern dfaflags_t dfaflags; -extern char *progname; -extern char *subdomainbase; +extern const char *progname; +extern const char *subdomainbase; extern char *profilename; extern char *profile_ns; extern char *current_filename; extern FILE *ofile; extern int read_implies_exec; -extern void pwarn(char *fmt, ...) __attribute__((__format__(__printf__, 1, 2))); +extern void pwarn(const char *fmt, ...) __attribute__((__format__(__printf__, 1, 2))); /* from parser_main (cannot be used in tst builds) */ extern int force_complain; @@ -256,7 +256,7 @@ extern void yyerror(const char *msg, ... extern int yylex(void); /* parser_include.c */ -extern char *basedir; +extern const char *basedir; /* parser_regex.c */ extern int process_regex(Profile *prof); @@ -271,7 +271,7 @@ extern int process_policy_ents(Profile * /* parser_variable.c */ extern int process_variables(Profile *prof); -extern struct var_string *split_out_var(char *string); +extern struct var_string *split_out_var(const char *string); extern void free_var_string(struct var_string *var); /* parser_misc.c */ @@ -284,8 +284,8 @@ extern void free_cond_entry(struct cond_ extern void free_cond_list(struct cond_entry *ents); extern void print_cond_entry(struct cond_entry *ent); extern char *processid(char *string, int len); -extern char *processquoted(char *string, int len); -extern char *processunquoted(char *string, int len); +extern char *processquoted(const char *string, int len); +extern char *processunquoted(const char *string, int len); extern int get_keyword_token(const char *keyword); extern int name_to_capability(const char *keyword); extern int get_rlimit(const char *name); Index: b/parser/parser_common.c =================================================================== --- a/parser/parser_common.c +++ b/parser/parser_common.c @@ -36,8 +36,8 @@ int option = OPTION_ADD; dfaflags_t dfaflags = (dfaflags_t)(DFA_CONTROL_TREE_NORMAL | DFA_CONTROL_TREE_SIMPLE | DFA_CONTROL_MINIMIZE | DFA_CONTROL_MINIMIZE_HASH_TRANS); -char *subdomainbase = NULL; -char *progname = __FILE__; +const char *subdomainbase = NULL; +const char *progname = __FILE__; char *profile_ns = NULL; char *profilename = NULL; char *current_filename = NULL; @@ -50,7 +50,7 @@ int read_implies_exec = 1; int read_implies_exec = 0; #endif -void pwarn(char *fmt, ...) +void pwarn(const char *fmt, ...) { va_list arg; char *newfmt; Index: b/parser/parser_include.c =================================================================== --- a/parser/parser_include.c +++ b/parser/parser_include.c @@ -73,9 +73,9 @@ static char *stripblanks(char *s); /* default base directory is /etc/subdomain.d, it can be overriden with the -b option. */ -char *basedir; -static char *default_basedir = "/etc/apparmor.d"; -static char *old_basedir = "/etc/subdomain.d"; +const char *basedir; +static const char *default_basedir = "/etc/apparmor.d"; +static const char *old_basedir = "/etc/subdomain.d"; /* set up basedir so that it can be overridden/used later. */ @@ -130,7 +130,7 @@ void set_base_dir(char *dir) } /* Add a directory to the search path. */ -int add_search_dir(char *dir) +int add_search_dir(const char *dir) { char *t; if (npath >= MAX_PATH) { @@ -149,7 +149,7 @@ int add_search_dir(char *dir) } /*strip trailing /'s */ - while (t[strlen(t) - 1] == '/') + while ((char) t[strlen(t) - 1] == '/') t[strlen(t) - 1] = 0; path[npath] = t; npath++; Index: b/parser/parser_include.h =================================================================== --- a/parser/parser_include.h +++ b/parser/parser_include.h @@ -22,7 +22,7 @@ extern int preprocess_only; -extern int add_search_dir(char *dir); +extern int add_search_dir(const char *dir); extern void init_base_dir(void); extern void set_base_dir(char *dir); extern void parse_default_paths(void); Index: b/parser/parser_main.c =================================================================== --- a/parser/parser_main.c +++ b/parser/parser_main.c @@ -132,7 +132,7 @@ static void display_version(void) parser_copyright); } -static void display_usage(char *command) +static void display_usage(const char *command) { display_version(); printf("\nUsage: %s [options] [profile]\n\n" @@ -295,7 +295,7 @@ static int handle_flag_table(optflag_tab return 0; } -static void display_dump(char *command) +static void display_dump(const char *command) { display_version(); printf("\n%s: --dump [Option]\n\n" @@ -307,7 +307,7 @@ static void display_dump(char *command) print_flag_table(dumpflag_table); } -static void display_optimize(char *command) +static void display_optimize(const char *command) { display_version(); printf("\n%s: -O [Option]\n\n" @@ -831,7 +831,7 @@ out: return; } -static void get_flags_string(char **flags, char *flags_file) { +static void get_flags_string(char **flags, const char *flags_file) { char *pos; FILE *f = NULL; size_t size; Index: b/parser/libapparmor_re/aare_rules.cc =================================================================== --- a/parser/libapparmor_re/aare_rules.cc +++ b/parser/libapparmor_re/aare_rules.cc @@ -62,7 +62,7 @@ void aare_delete_ruleset(aare_ruleset_t aare_reset_matchflags(); } -int aare_add_rule(aare_ruleset_t *rules, char *rule, int deny, +int aare_add_rule(aare_ruleset_t *rules, const char *rule, int deny, uint32_t perms, uint32_t audit, dfaflags_t flags) { return aare_add_rule_vec(rules, deny, perms, audit, 1, &rule, flags); @@ -96,7 +96,7 @@ void aare_reset_matchflags(void) int aare_add_rule_vec(aare_ruleset_t *rules, int deny, uint32_t perms, uint32_t audit, - int count, char **rulev, dfaflags_t flags) + int count, const char **rulev, dfaflags_t flags) { Node *tree = NULL, *accept; int exact_match; Index: b/parser/libapparmor_re/aare_rules.h =================================================================== --- a/parser/libapparmor_re/aare_rules.h +++ b/parser/libapparmor_re/aare_rules.h @@ -35,10 +35,10 @@ typedef struct aare_ruleset aare_ruleset aare_ruleset_t *aare_new_ruleset(int reverse); void aare_delete_ruleset(aare_ruleset_t *rules); -int aare_add_rule(aare_ruleset_t *rules, char *rule, int deny, uint32_t perms, +int aare_add_rule(aare_ruleset_t *rules, const char *rule, int deny, uint32_t perms, uint32_t audit, dfaflags_t flags); int aare_add_rule_vec(aare_ruleset_t *rules, int deny, uint32_t perms, - uint32_t audit, int count, char **rulev, + uint32_t audit, int count, const char **rulev, dfaflags_t flags); void *aare_create_dfa(aare_ruleset_t *rules, size_t *size, dfaflags_t flags); void aare_reset_matchflags(void); Index: b/parser/parser_regex.c =================================================================== --- a/parser/parser_regex.c +++ b/parser/parser_regex.c @@ -494,7 +494,7 @@ static int process_dfa_entry(aare_rulese /* add the pair rule */ char lbuf[PATH_MAX + 8]; int perms = AA_LINK_BITS & entry->mode; - char *vec[2]; + const char *vec[2]; int pos; vec[0] = tbuf; if (entry->link_name) { @@ -512,7 +512,7 @@ static int process_dfa_entry(aare_rulese return FALSE; } if (entry->mode & AA_CHANGE_PROFILE) { - char *vec[3]; + const char *vec[3]; char lbuf[PATH_MAX + 8]; int index = 1; @@ -538,7 +538,7 @@ static int process_dfa_entry(aare_rulese if (entry->mode & (AA_USER_PTRACE | AA_OTHER_PTRACE)) { int mode = entry->mode & (AA_USER_PTRACE | AA_OTHER_PTRACE); if (entry->ns) { - char *vec[2]; + const char *vec[2]; vec[0] = entry->ns; vec[1] = entry->name; if (!aare_add_rule_vec(dfarules, 0, mode, 0, 2, vec, dfaflags)) @@ -767,7 +767,8 @@ static int process_mnt_entry(aare_rulese char typebuf[PATH_MAX + 3]; char flagsbuf[PATH_MAX + 3]; char optsbuf[PATH_MAX + 3]; - char *p, *vec[5]; + char *p; + const char *vec[5]; int count = 0; unsigned int flags, inv_flags; @@ -1033,7 +1034,8 @@ static int process_dbus_entry(aare_rules char pathbuf[PATH_MAX + 3]; char ifacebuf[PATH_MAX + 3]; char memberbuf[PATH_MAX + 3]; - char *p, *vec[6]; + char *p; + const char *vec[6]; pattern_t ptype; int pos; Index: b/parser/parser_interface.c =================================================================== --- a/parser/parser_interface.c +++ b/parser/parser_interface.c @@ -327,7 +327,7 @@ inline int sd_write64(sd_serialize *p, u return 1; } -inline int sd_write_name(sd_serialize *p, char *name) +inline int sd_write_name(sd_serialize *p, const char *name) { long size = 0; PDEBUG("Writing name '%s'\n", name); @@ -362,7 +362,7 @@ inline int sd_write_blob(sd_serialize *p #define align64(X) (((size_t) (X) + (size_t) 7) & ~((size_t) 7)) inline int sd_write_aligned_blob(sd_serialize *p, void *b, int buf_size, - char *name) + const char *name) { size_t pad; u32 tmp; @@ -381,7 +381,7 @@ inline int sd_write_aligned_blob(sd_seri return 1; } -static int sd_write_strn(sd_serialize *p, char *b, int size, char *name) +static int sd_write_strn(sd_serialize *p, char *b, int size, const char *name) { u16 tmp; if (!sd_write_name(p, name)) @@ -396,12 +396,12 @@ static int sd_write_strn(sd_serialize *p return 1; } -inline int sd_write_string(sd_serialize *p, char *b, char *name) +inline int sd_write_string(sd_serialize *p, char *b, const char *name) { return sd_write_strn(p, b, strlen(b) + 1, name); } -inline int sd_write_struct(sd_serialize *p, char *name) +inline int sd_write_struct(sd_serialize *p, const char *name) { if (!sd_write_name(p, name)) return 0; @@ -417,7 +417,7 @@ inline int sd_write_structend(sd_seriali return 1; } -inline int sd_write_array(sd_serialize *p, char *name, int size) +inline int sd_write_array(sd_serialize *p, const char *name, int size) { u16 tmp; if (!sd_write_name(p, name)) @@ -437,7 +437,7 @@ inline int sd_write_arrayend(sd_serializ return 1; } -inline int sd_write_list(sd_serialize *p, char *name) +inline int sd_write_list(sd_serialize *p, const char *name) { if (!sd_write_name(p, name)) return 0; @@ -733,7 +733,7 @@ int sd_serialize_profile(int option, Pro if (kernel_load) fd = open(filename, O_WRONLY); break; case OPTION_STDOUT: - filename = "stdout"; + filename = strdup("stdout"); fd = dup(1); break; case OPTION_OFILE: @@ -754,7 +754,7 @@ int sd_serialize_profile(int option, Pro error = 0; - if (option != OPTION_STDOUT && option != OPTION_OFILE) + if (option != OPTION_OFILE) free(filename); if (option == OPTION_REMOVE) { Index: b/parser/parser_misc.c =================================================================== --- a/parser/parser_misc.c +++ b/parser/parser_misc.c @@ -384,7 +384,7 @@ struct aa_network_entry *network_entry(c return entry; }; -char *processunquoted(char *string, int len) +char *processunquoted(const char *string, int len) { char *tmp, *s; int l; @@ -433,7 +433,7 @@ char *processid(char *string, int len) /* rewrite a quoted string substituting escaped characters for the * real thing. Strip the quotes around the string */ -char *processquoted(char *string, int len) +char *processquoted(const char *string, int len) { char *tmp, *s; int l; @@ -1235,7 +1235,7 @@ int test_str_to_boolean(void) int test_processunquoted(void) { int rc = 0; - char *teststring, *processedstring; + const char *teststring, *processedstring; teststring = ""; MY_TEST(strcmp(teststring, processunquoted(teststring, strlen(teststring))) == 0, @@ -1263,7 +1263,7 @@ int test_processunquoted(void) int test_processquoted(void) { int rc = 0; - char *teststring, *processedstring; + const char *teststring, *processedstring; char *out; teststring = ""; Index: b/parser/parser_variable.c =================================================================== --- a/parser/parser_variable.c +++ b/parser/parser_variable.c @@ -32,9 +32,9 @@ #include "mount.h" #include "dbus.h" -static inline char *get_var_end(char *var) +static inline const char *get_var_end(const char *var) { - char *eptr = var; + const char *eptr = var; while (*eptr) { if (*eptr == '}') @@ -52,8 +52,8 @@ static inline char *get_var_end(char *va return NULL; /* no terminating '}' */ } -static struct var_string *split_string(char *string, char *var_begin, - char *var_end) +static struct var_string *split_string(const char *string, const char *var_begin, + const char *var_end) { struct var_string *n = (struct var_string *) calloc(1, sizeof(struct var_string)); unsigned int offset = strlen("@{"); @@ -75,10 +75,10 @@ static struct var_string *split_string(c return n; } -struct var_string *split_out_var(char *string) +struct var_string *split_out_var(const char *string) { struct var_string *n = NULL; - char *sptr; + const char *sptr; BOOL bEscape = 0; /* flag to indicate escape */ if (!string) /* shouldn't happen */ @@ -99,7 +99,7 @@ struct var_string *split_out_var(char *s if (bEscape) { bEscape = FALSE; } else if (*(sptr + 1) == '{') { - char *eptr = get_var_end(sptr + 2); + const char *eptr = get_var_end(sptr + 2); if (!eptr) break; /* no variable end found */ if (eptr == sptr + 2) { @@ -325,8 +325,8 @@ int process_profile_variables(Profile *p int test_get_var_end(void) { int rc = 0; - char *retchar; - char *testchar; + const char *retchar; + const char *testchar; testchar = "TRUE}"; retchar = get_var_end(testchar); @@ -356,9 +356,9 @@ int test_split_string(void) int rc = 0; char *tst_string, *var_start, *var_end; struct var_string *ret_struct; - char *prefix = "abcdefg"; - char *var = "boogie"; - char *suffix = "suffixication"; + const char *prefix = "abcdefg"; + const char *var = "boogie"; + const char *suffix = "suffixication"; asprintf(&tst_string, "%s@{%s}%s", prefix, var, suffix); var_start = tst_string + strlen(prefix); @@ -404,11 +404,11 @@ int test_split_out_var(void) int rc = 0; char *tst_string, *tmp; struct var_string *ret_struct; - char *prefix = "abcdefg"; - char *var = "boogie"; - char *var2 = "V4rW1thNum5"; - char *var3 = "boogie_board"; - char *suffix = "suffixication"; + const char *prefix = "abcdefg"; + const char *var = "boogie"; + const char *var2 = "V4rW1thNum5"; + const char *var3 = "boogie_board"; + const char *suffix = "suffixication"; /* simple case */ asprintf(&tst_string, "%s@{%s}%s", prefix, var, suffix); -- Steve Beattie <[email protected]> http://NxNW.org/~steve/
signature.asc
Description: Digital signature
-- AppArmor mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
