updated on Wed Jan 25 04:02:27 UTC 2012
[aur-mirror.git] / selinux-setools / 0007-Remove-unused-variables.patch
blobdfa532c4431eee985534b3577190aecac856de82
1 From e30036e358b8f1c3f56048b467e8646fa3bfffb6 Mon Sep 17 00:00:00 2001
2 From: Dan Walsh <dwalsh@redhat.com>
3 Date: Tue, 20 Sep 2011 16:40:26 -0400
4 Subject: [PATCH 7/7] Remove unused variables
6 ---
7 libapol/src/ftrule-query.c | 11 ++----
8 libqpol/src/ftrule_query.c | 2 -
9 secmds/sesearch.c | 86 +++++++++++++++++++++++++++++++++-----------
10 3 files changed, 68 insertions(+), 31 deletions(-)
12 diff --git a/libapol/src/ftrule-query.c b/libapol/src/ftrule-query.c
13 index dc248de..9c7a23b 100644
14 --- a/libapol/src/ftrule-query.c
15 +++ b/libapol/src/ftrule-query.c
16 @@ -45,14 +45,11 @@ struct apol_filename_trans_query
17 int apol_filename_trans_get_by_query(const apol_policy_t * p, const apol_filename_trans_query_t * t, apol_vector_t ** v)
19 apol_vector_t *source_list = NULL, *target_list = NULL, *class_list = NULL, *default_list = NULL;
20 - int retval = -1, source_as_any = 0, is_regex = 0, append_filename_trans;
21 - char *bool_name = NULL;
22 + int retval = -1, source_as_any = 0, is_regex = 0;
23 *v = NULL;
24 - unsigned int flags = 0;
25 - qpol_iterator_t *iter = NULL, *type_iter = NULL;
26 + qpol_iterator_t *iter = NULL;
28 if (t != NULL) {
29 - flags = t->flags;
30 is_regex = t->flags & APOL_QUERY_REGEX;
31 if (t->source != NULL &&
32 (source_list =
33 @@ -104,7 +101,7 @@ int apol_filename_trans_get_by_query(const apol_policy_t * p, const apol_filenam
34 if (qpol_iterator_get_item(iter, (void **)&filename_trans) < 0) {
35 goto cleanup;
37 - int match_source = 0, match_target = 0, match_default = 0, match_bool = 0;
38 + int match_source = 0, match_target = 0, match_default = 0;
39 size_t i;
41 if (source_list == NULL) {
42 @@ -265,10 +262,8 @@ char *apol_filename_trans_render(const apol_policy_t * policy, const qpol_filena
44 char *tmp = NULL;
45 const char *tmp_name = NULL;
46 - const char *filename_trans_type_str;
47 int error = 0;
48 size_t tmp_sz = 0;
49 - uint32_t filename_trans_type = 0;
50 const qpol_type_t *type = NULL;
51 const qpol_class_t *obj_class = NULL;
53 diff --git a/libqpol/src/ftrule_query.c b/libqpol/src/ftrule_query.c
54 index d6db848..3148d30 100644
55 --- a/libqpol/src/ftrule_query.c
56 +++ b/libqpol/src/ftrule_query.c
57 @@ -254,7 +254,6 @@ int qpol_filename_trans_get_default_type(const qpol_policy_t * policy, const qpo
59 int qpol_filename_trans_get_filename(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const char ** name)
61 - policydb_t *db = NULL;
62 filename_trans_t *ft = NULL;
64 if (name) {
65 @@ -267,7 +266,6 @@ int qpol_filename_trans_get_filename(const qpol_policy_t * policy, const qpol_fi
66 return STATUS_ERR;
69 - db = &policy->p->p;
70 ft = (filename_trans_t *) rule;
72 *name = ft->name;
73 diff --git a/secmds/sesearch.c b/secmds/sesearch.c
74 index e44b3bc..319ffe7 100644
75 --- a/secmds/sesearch.c
76 +++ b/secmds/sesearch.c
77 @@ -72,6 +72,7 @@ static struct option const longopts[] = {
79 {"source", required_argument, NULL, 's'},
80 {"target", required_argument, NULL, 't'},
81 + {"default", required_argument, NULL, 'D'},
82 {"role_source", required_argument, NULL, EXPR_ROLE_SOURCE},
83 {"role_target", required_argument, NULL, EXPR_ROLE_TARGET},
84 {"class", required_argument, NULL, 'c'},
85 @@ -92,6 +93,7 @@ typedef struct options
87 char *src_name;
88 char *tgt_name;
89 + char *default_name;
90 char *src_role_name;
91 char *tgt_role_name;
92 char *class_name;
93 @@ -293,7 +295,8 @@ static void print_syn_av_results(const apol_policy_t * policy, const options_t *
94 tmp = apol_cond_expr_render(policy, cond);
95 enable_char = (enabled ? 'E' : 'D');
96 branch_char = ((is_true && enabled) || (!is_true && !enabled) ? 'T' : 'F');
97 - asprintf(&expr, "[ %s ]", tmp);
98 + if (asprintf(&expr, "[ %s ]", tmp) < 0)
99 + goto cleanup;
100 free(tmp);
101 tmp = NULL;
102 if (!expr)
103 @@ -356,7 +359,8 @@ static void print_av_results(const apol_policy_t * policy, const options_t * opt
104 qpol_iterator_destroy(&iter);
105 enable_char = (enabled ? 'E' : 'D');
106 branch_char = (list ? 'T' : 'F');
107 - asprintf(&expr, "[ %s ]", tmp);
108 + if (asprintf(&expr, "[ %s ]", tmp) < 0)
109 + goto cleanup;
110 free(tmp);
111 tmp = NULL;
112 if (!expr)
113 @@ -488,7 +492,8 @@ static void print_syn_te_results(const apol_policy_t * policy, const options_t *
114 tmp = apol_cond_expr_render(policy, cond);
115 enable_char = (enabled ? 'E' : 'D');
116 branch_char = ((is_true && enabled) || (!is_true && !enabled) ? 'T' : 'F');
117 - asprintf(&expr, "[ %s ]", tmp);
118 + if (asprintf(&expr, "[ %s ]", tmp) < 0)
119 + goto cleanup;
120 free(tmp);
121 tmp = NULL;
122 if (!expr)
123 @@ -553,7 +558,8 @@ static void print_te_results(const apol_policy_t * policy, const options_t * opt
124 qpol_iterator_destroy(&iter);
125 enable_char = (enabled ? 'E' : 'D');
126 branch_char = (list ? 'T' : 'F');
127 - asprintf(&expr, "[ %s ]", tmp);
128 + if (asprintf(&expr, "[ %s ]", tmp) < 0)
129 + goto cleanup;
130 free(tmp);
131 tmp = NULL;
132 if (!expr)
133 @@ -586,7 +592,7 @@ static int perform_ft_query(const apol_policy_t * policy, const options_t * opt,
134 return -1;
137 - if (!opt->type == QPOL_RULE_TYPE_TRANS && !opt->all) {
138 + if (!opt->type && !opt->all) {
139 *v = NULL;
140 return 0; /* no search to do */
142 @@ -600,17 +606,44 @@ static int perform_ft_query(const apol_policy_t * policy, const options_t * opt,
144 apol_filename_trans_query_set_regex(policy, ftq, opt->useregex);
145 if (opt->src_name) {
146 - if (apol_filename_trans_query_set_source(policy, ftq, opt->src_name)) {
147 + if (apol_filename_trans_query_set_source(policy, ftq, opt->src_name, opt->indirect)) {
148 error = errno;
149 goto err;
153 if (opt->tgt_name) {
154 if (apol_filename_trans_query_set_target(policy, ftq, opt->tgt_name, opt->indirect)) {
155 error = errno;
156 goto err;
159 + if (opt->default_name) {
160 + if (apol_filename_trans_query_set_default(policy, ftq, opt->default_name)) {
161 + error = errno;
162 + goto err;
166 + if (opt->class_name) {
167 + if (opt->class_vector == NULL) {
168 + if (apol_filename_trans_query_append_class(policy, ftq, opt->class_name)) {
169 + error = errno;
170 + goto err;
172 + } else {
173 + for (size_t i = 0; i < apol_vector_get_size(opt->class_vector); ++i) {
174 + char *class_name;
175 + class_name = apol_vector_get_element(opt->class_vector, i);
176 + if (!class_name)
177 + continue;
178 + if (apol_filename_trans_query_append_class(policy, ftq, class_name)) {
179 + error = errno;
180 + goto err;
186 if (apol_filename_trans_get_by_query(policy, ftq, v)) {
187 error = errno;
188 @@ -630,37 +663,36 @@ static int perform_ft_query(const apol_policy_t * policy, const options_t * opt,
190 static void print_ft_results(const apol_policy_t * policy, const options_t * opt, const apol_vector_t * v)
192 - qpol_policy_t *q = apol_policy_get_qpol(policy);
193 - size_t i, num_rules = 0;
194 - const qpol_filename_trans_t *rule = NULL;
195 - char *tmp = NULL, *rule_str = NULL, *expr = NULL;
196 + size_t i, num_filename_trans = 0;
197 + const qpol_filename_trans_t *filename_trans = NULL;
198 + char *tmp = NULL, *filename_trans_str = NULL, *expr = NULL;
199 char enable_char = ' ', branch_char = ' ';
200 qpol_iterator_t *iter = NULL;
201 const qpol_cond_t *cond = NULL;
202 uint32_t enabled = 0, list = 0;
204 - if (!(num_rules = apol_vector_get_size(v)))
205 + if (!(num_filename_trans = apol_vector_get_size(v)))
206 goto cleanup;
208 - fprintf(stdout, "Found %zd named file transition rules:\n", num_rules);
209 + fprintf(stdout, "Found %zd named file transition filename_trans:\n", num_filename_trans);
211 - for (i = 0; i < num_rules; i++) {
212 + for (i = 0; i < num_filename_trans; i++) {
213 enable_char = branch_char = ' ';
214 - if (!(rule = apol_vector_get_element(v, i)))
215 + if (!(filename_trans = apol_vector_get_element(v, i)))
216 goto cleanup;
218 - if (!(rule_str = apol_filename_trans_render(policy, rule)))
219 + if (!(filename_trans_str = apol_filename_trans_render(policy, filename_trans)))
220 goto cleanup;
221 - fprintf(stdout, "%s %s\n", rule_str, expr ? expr : "");
222 - free(rule_str);
223 - rule_str = NULL;
224 + fprintf(stdout, "%s %s\n", filename_trans_str, expr ? expr : "");
225 + free(filename_trans_str);
226 + filename_trans_str = NULL;
227 free(expr);
228 expr = NULL;
231 cleanup:
232 free(tmp);
233 - free(rule_str);
234 + free(filename_trans_str);
235 free(expr);
238 @@ -930,7 +962,7 @@ int main(int argc, char **argv)
240 memset(&cmd_opts, 0, sizeof(cmd_opts));
241 cmd_opts.indirect = true;
242 - while ((optc = getopt_long(argc, argv, "ATs:t:c:p:b:dRnSChV", longopts, NULL)) != -1) {
243 + while ((optc = getopt_long(argc, argv, "ATs:t:c:p:b:dD:RnSChV", longopts, NULL)) != -1) {
244 switch (optc) {
245 case 0:
246 break;
247 @@ -946,6 +978,18 @@ int main(int argc, char **argv)
248 exit(1);
250 break;
251 + case 'D': /* source */
252 + if (optarg == 0) {
253 + usage(argv[0], 1);
254 + printf("Missing source default type for -D (--default)\n");
255 + exit(1);
257 + cmd_opts.default_name = strdup(optarg);
258 + if (!cmd_opts.default_name) {
260 + exit(1);
262 + break;
263 case 't': /* target */
264 if (optarg == 0) {
265 usage(argv[0], 1);
266 @@ -1218,7 +1262,7 @@ int main(int argc, char **argv)
267 fprintf(stdout, "\n");
270 - if (cmd_opts.all || cmd_opts.type == QPOL_RULE_TYPE_TRANS) {
271 + if (cmd_opts.all || cmd_opts.type) {
272 apol_vector_destroy(&v);
273 if (perform_ft_query(policy, &cmd_opts, &v)) {
274 rt = 1;
276 1.7.6.2