diff mbox

[1/3] policycoreutils: sepolicy: rename policy global variable

Message ID 1454705751-1448-1-git-send-email-nicolas.iooss@m4x.org (mailing list archive)
State Accepted
Headers show

Commit Message

Nicolas Iooss Feb. 5, 2016, 8:55 p.m. UTC
Variable policy is both a global variable and a parameter to some
functions in policycoreutils/sepolicy/search.c.  This makes the building
fail when using -Wshadow -Werror compilation flags.

Fix this by renaming the global variable global_policy.  This does not
change the API of the Python module.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
 policycoreutils/sepolicy/info.c   | 20 ++++++++++----------
 policycoreutils/sepolicy/policy.c | 10 +++++-----
 policycoreutils/sepolicy/policy.h |  2 +-
 policycoreutils/sepolicy/search.c | 26 +++++++++++++-------------
 4 files changed, 29 insertions(+), 29 deletions(-)

Comments

Steve Lawrence Feb. 17, 2016, 1:45 p.m. UTC | #1
On 02/05/2016 03:55 PM, Nicolas Iooss wrote:
> Variable policy is both a global variable and a parameter to some
> functions in policycoreutils/sepolicy/search.c.  This makes the building
> fail when using -Wshadow -Werror compilation flags.
> 
> Fix this by renaming the global variable global_policy.  This does not
> change the API of the Python module.
> 
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>

Patchset applied, with a small change in 2/3 to split CFLAGS in two, one
with the warning flags, and one with the necessary additional CFLAGS.
This matches the style of other makefiles.


Thanks!

> ---
>  policycoreutils/sepolicy/info.c   | 20 ++++++++++----------
>  policycoreutils/sepolicy/policy.c | 10 +++++-----
>  policycoreutils/sepolicy/policy.h |  2 +-
>  policycoreutils/sepolicy/search.c | 26 +++++++++++++-------------
>  4 files changed, 29 insertions(+), 29 deletions(-)
> 
> diff --git a/policycoreutils/sepolicy/info.c b/policycoreutils/sepolicy/info.c
> index 17f5732f2d5c..bbb6844d0b5a 100644
> --- a/policycoreutils/sepolicy/info.c
> +++ b/policycoreutils/sepolicy/info.c
> @@ -1318,31 +1318,31 @@ PyObject* info( int type, const char *name)
>  	switch(type) {
>  	/* display requested info */
>  	case TYPE:
> -		output = get_types(name, policy);
> +		output = get_types(name, global_policy);
>  		break;
>  	case ATTRIBUTE:
> -		output = get_attribs(name, policy);
> +		output = get_attribs(name, global_policy);
>  		break;
>  	case ROLE:
> -		output = get_roles(name, policy);
> +		output = get_roles(name, global_policy);
>  		break;
>  	case USER:
> -		output = get_users(name, policy);
> +		output = get_users(name, global_policy);
>  		break;
>  	case CLASS:
> -		output = get_classes(name, policy);
> +		output = get_classes(name, global_policy);
>  		break;
>  	case BOOLEAN:
> -		output = get_booleans(name, policy);
> +		output = get_booleans(name, global_policy);
>  		break;
>  	case PORT:
> -		output = get_ports(name, policy);
> +		output = get_ports(name, global_policy);
>  		break;
>  	case SENS:
> -		output = get_sens(name, policy);
> +		output = get_sens(name, global_policy);
>  		break;
>  	case CATS:
> -		output = get_cats(name, policy);
> +		output = get_cats(name, global_policy);
>  		break;
>  	default:
>  		errno = EINVAL;
> @@ -1357,7 +1357,7 @@ PyObject *wrap_info(PyObject *UNUSED(self), PyObject *args){
>      int type;
>      const char *name;
>      
> -    if (!policy) {
> +    if (!global_policy) {
>  	    PyErr_SetString(PyExc_RuntimeError,"Policy not loaded");
>  	    return NULL;
>      }
> diff --git a/policycoreutils/sepolicy/policy.c b/policycoreutils/sepolicy/policy.c
> index 2a9e1c7cc7a8..b7e3536f7314 100644
> --- a/policycoreutils/sepolicy/policy.c
> +++ b/policycoreutils/sepolicy/policy.c
> @@ -33,7 +33,7 @@
>  #endif
>  
>  #include "policy.h"
> -apol_policy_t *policy = NULL;
> +apol_policy_t *global_policy = NULL;
>  
>  /* other */
>  #include <errno.h>
> @@ -53,8 +53,8 @@ PyObject *wrap_policy(PyObject *UNUSED(self), PyObject *args){
>      if (!PyArg_ParseTuple(args, "z", &policy_file))
>  	    return NULL;
>  
> -    if (policy) 
> -	    apol_policy_destroy(&policy);
> +    if (global_policy)
> +	    apol_policy_destroy(&global_policy);
>  
>      int policy_load_options = 0;
>  	    
> @@ -66,9 +66,9 @@ PyObject *wrap_policy(PyObject *UNUSED(self), PyObject *args){
>      }
>      apol_vector_destroy(&mod_paths);
>      
> -    policy = apol_policy_create_from_policy_path(pol_path, policy_load_options, NULL, NULL);
> +    global_policy = apol_policy_create_from_policy_path(pol_path, policy_load_options, NULL, NULL);
>      apol_policy_path_destroy(&pol_path);
> -    if (!policy) {
> +    if (!global_policy) {
>  	    PyErr_SetString(PyExc_RuntimeError,strerror(errno));
>  	    return NULL;
>      }
> diff --git a/policycoreutils/sepolicy/policy.h b/policycoreutils/sepolicy/policy.h
> index d59452a81485..ffac497dccd0 100644
> --- a/policycoreutils/sepolicy/policy.h
> +++ b/policycoreutils/sepolicy/policy.h
> @@ -1,5 +1,5 @@
>  #include <apol/policy.h>
> -extern apol_policy_t *policy;
> +extern apol_policy_t *global_policy;
>  extern PyObject *wrap_info(PyObject *self, PyObject *args);
>  extern void init_info (PyObject *m);
>  extern PyObject *wrap_search(PyObject *self, PyObject *args);
> diff --git a/policycoreutils/sepolicy/search.c b/policycoreutils/sepolicy/search.c
> index d9a5aec60c89..d608006d4469 100644
> --- a/policycoreutils/sepolicy/search.c
> +++ b/policycoreutils/sepolicy/search.c
> @@ -914,23 +914,23 @@ PyObject* search(bool allow,
>  		cmd_opts.perm_vector = apol_vector_create(free);
>  		cmd_opts.permlist = strdup(permlist);
>  	}
> -	if (!cmd_opts.semantic && qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
> -		if (qpol_policy_build_syn_rule_table(apol_policy_get_qpol(policy))) {
> +	if (!cmd_opts.semantic && qpol_policy_has_capability(apol_policy_get_qpol(global_policy), QPOL_CAP_SYN_RULES)) {
> +		if (qpol_policy_build_syn_rule_table(apol_policy_get_qpol(global_policy))) {
>  			PyErr_SetString(PyExc_RuntimeError,"Query failed");
>  			goto cleanup;
>  		}
>  	}
>  
>  	/* if syntactic rules are not available always do semantic search */
> -	if (!qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
> +	if (!qpol_policy_has_capability(apol_policy_get_qpol(global_policy), QPOL_CAP_SYN_RULES)) {
>  		cmd_opts.semantic = 1;
>  	}
>  
>  	/* supress line numbers if doing semantic search or not available */
> -	if (cmd_opts.semantic || !qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_LINE_NUMBERS)) {
> +	if (cmd_opts.semantic || !qpol_policy_has_capability(apol_policy_get_qpol(global_policy), QPOL_CAP_LINE_NUMBERS)) {
>  		cmd_opts.lineno = 0;
>  	}
> -	if (perform_av_query(policy, &cmd_opts, &v)) {
> +	if (perform_av_query(global_policy, &cmd_opts, &v)) {
>  		goto cleanup;
>  	}
>  	output = PyList_New(0);
> @@ -938,36 +938,36 @@ PyObject* search(bool allow,
>  		goto cleanup;
>  
>  	if (v) {
> -		get_av_results(policy, v, output);
> +		get_av_results(global_policy, v, output);
>  	}
>  
>  	apol_vector_destroy(&v);
> -	if (perform_te_query(policy, &cmd_opts, &v)) {
> +	if (perform_te_query(global_policy, &cmd_opts, &v)) {
>  		goto cleanup;
>  	}
>  	if (v) {
> -		get_te_results(policy, v, output);
> +		get_te_results(global_policy, v, output);
>  	}
>  
>  	if (cmd_opts.all || cmd_opts.type) {
>  		apol_vector_destroy(&v);
> -		if (perform_ft_query(policy, &cmd_opts, &v)) {
> +		if (perform_ft_query(global_policy, &cmd_opts, &v)) {
>  			goto cleanup;
>  		}
>  
>  		if (v) {
> -			get_ft_results(policy, v, output);
> +			get_ft_results(global_policy, v, output);
>  		}
>  	}
>  
>  	if (cmd_opts.all || cmd_opts.role_allow) {
>  		apol_vector_destroy(&v);
> -		if (perform_ra_query(policy, &cmd_opts, &v)) {
> +		if (perform_ra_query(global_policy, &cmd_opts, &v)) {
>  			goto cleanup;
>  		}
>  
>  		if (v) {
> -			get_ra_results(policy, v, output);
> +			get_ra_results(global_policy, v, output);
>  		}
>  	}
>  
> @@ -1016,7 +1016,7 @@ PyObject *wrap_search(PyObject *UNUSED(self), PyObject *args){
>      int transition = Dict_ContainsInt(dict, "transition");
>      int role_allow = Dict_ContainsInt(dict, "role_allow");
>  
> -    if (!policy) {
> +    if (!global_policy) {
>  	    PyErr_SetString(PyExc_RuntimeError,"Policy not loaded");
>  	    return NULL;
>      }
>
diff mbox

Patch

diff --git a/policycoreutils/sepolicy/info.c b/policycoreutils/sepolicy/info.c
index 17f5732f2d5c..bbb6844d0b5a 100644
--- a/policycoreutils/sepolicy/info.c
+++ b/policycoreutils/sepolicy/info.c
@@ -1318,31 +1318,31 @@  PyObject* info( int type, const char *name)
 	switch(type) {
 	/* display requested info */
 	case TYPE:
-		output = get_types(name, policy);
+		output = get_types(name, global_policy);
 		break;
 	case ATTRIBUTE:
-		output = get_attribs(name, policy);
+		output = get_attribs(name, global_policy);
 		break;
 	case ROLE:
-		output = get_roles(name, policy);
+		output = get_roles(name, global_policy);
 		break;
 	case USER:
-		output = get_users(name, policy);
+		output = get_users(name, global_policy);
 		break;
 	case CLASS:
-		output = get_classes(name, policy);
+		output = get_classes(name, global_policy);
 		break;
 	case BOOLEAN:
-		output = get_booleans(name, policy);
+		output = get_booleans(name, global_policy);
 		break;
 	case PORT:
-		output = get_ports(name, policy);
+		output = get_ports(name, global_policy);
 		break;
 	case SENS:
-		output = get_sens(name, policy);
+		output = get_sens(name, global_policy);
 		break;
 	case CATS:
-		output = get_cats(name, policy);
+		output = get_cats(name, global_policy);
 		break;
 	default:
 		errno = EINVAL;
@@ -1357,7 +1357,7 @@  PyObject *wrap_info(PyObject *UNUSED(self), PyObject *args){
     int type;
     const char *name;
     
-    if (!policy) {
+    if (!global_policy) {
 	    PyErr_SetString(PyExc_RuntimeError,"Policy not loaded");
 	    return NULL;
     }
diff --git a/policycoreutils/sepolicy/policy.c b/policycoreutils/sepolicy/policy.c
index 2a9e1c7cc7a8..b7e3536f7314 100644
--- a/policycoreutils/sepolicy/policy.c
+++ b/policycoreutils/sepolicy/policy.c
@@ -33,7 +33,7 @@ 
 #endif
 
 #include "policy.h"
-apol_policy_t *policy = NULL;
+apol_policy_t *global_policy = NULL;
 
 /* other */
 #include <errno.h>
@@ -53,8 +53,8 @@  PyObject *wrap_policy(PyObject *UNUSED(self), PyObject *args){
     if (!PyArg_ParseTuple(args, "z", &policy_file))
 	    return NULL;
 
-    if (policy) 
-	    apol_policy_destroy(&policy);
+    if (global_policy)
+	    apol_policy_destroy(&global_policy);
 
     int policy_load_options = 0;
 	    
@@ -66,9 +66,9 @@  PyObject *wrap_policy(PyObject *UNUSED(self), PyObject *args){
     }
     apol_vector_destroy(&mod_paths);
     
-    policy = apol_policy_create_from_policy_path(pol_path, policy_load_options, NULL, NULL);
+    global_policy = apol_policy_create_from_policy_path(pol_path, policy_load_options, NULL, NULL);
     apol_policy_path_destroy(&pol_path);
-    if (!policy) {
+    if (!global_policy) {
 	    PyErr_SetString(PyExc_RuntimeError,strerror(errno));
 	    return NULL;
     }
diff --git a/policycoreutils/sepolicy/policy.h b/policycoreutils/sepolicy/policy.h
index d59452a81485..ffac497dccd0 100644
--- a/policycoreutils/sepolicy/policy.h
+++ b/policycoreutils/sepolicy/policy.h
@@ -1,5 +1,5 @@ 
 #include <apol/policy.h>
-extern apol_policy_t *policy;
+extern apol_policy_t *global_policy;
 extern PyObject *wrap_info(PyObject *self, PyObject *args);
 extern void init_info (PyObject *m);
 extern PyObject *wrap_search(PyObject *self, PyObject *args);
diff --git a/policycoreutils/sepolicy/search.c b/policycoreutils/sepolicy/search.c
index d9a5aec60c89..d608006d4469 100644
--- a/policycoreutils/sepolicy/search.c
+++ b/policycoreutils/sepolicy/search.c
@@ -914,23 +914,23 @@  PyObject* search(bool allow,
 		cmd_opts.perm_vector = apol_vector_create(free);
 		cmd_opts.permlist = strdup(permlist);
 	}
-	if (!cmd_opts.semantic && qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
-		if (qpol_policy_build_syn_rule_table(apol_policy_get_qpol(policy))) {
+	if (!cmd_opts.semantic && qpol_policy_has_capability(apol_policy_get_qpol(global_policy), QPOL_CAP_SYN_RULES)) {
+		if (qpol_policy_build_syn_rule_table(apol_policy_get_qpol(global_policy))) {
 			PyErr_SetString(PyExc_RuntimeError,"Query failed");
 			goto cleanup;
 		}
 	}
 
 	/* if syntactic rules are not available always do semantic search */
-	if (!qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
+	if (!qpol_policy_has_capability(apol_policy_get_qpol(global_policy), QPOL_CAP_SYN_RULES)) {
 		cmd_opts.semantic = 1;
 	}
 
 	/* supress line numbers if doing semantic search or not available */
-	if (cmd_opts.semantic || !qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_LINE_NUMBERS)) {
+	if (cmd_opts.semantic || !qpol_policy_has_capability(apol_policy_get_qpol(global_policy), QPOL_CAP_LINE_NUMBERS)) {
 		cmd_opts.lineno = 0;
 	}
-	if (perform_av_query(policy, &cmd_opts, &v)) {
+	if (perform_av_query(global_policy, &cmd_opts, &v)) {
 		goto cleanup;
 	}
 	output = PyList_New(0);
@@ -938,36 +938,36 @@  PyObject* search(bool allow,
 		goto cleanup;
 
 	if (v) {
-		get_av_results(policy, v, output);
+		get_av_results(global_policy, v, output);
 	}
 
 	apol_vector_destroy(&v);
-	if (perform_te_query(policy, &cmd_opts, &v)) {
+	if (perform_te_query(global_policy, &cmd_opts, &v)) {
 		goto cleanup;
 	}
 	if (v) {
-		get_te_results(policy, v, output);
+		get_te_results(global_policy, v, output);
 	}
 
 	if (cmd_opts.all || cmd_opts.type) {
 		apol_vector_destroy(&v);
-		if (perform_ft_query(policy, &cmd_opts, &v)) {
+		if (perform_ft_query(global_policy, &cmd_opts, &v)) {
 			goto cleanup;
 		}
 
 		if (v) {
-			get_ft_results(policy, v, output);
+			get_ft_results(global_policy, v, output);
 		}
 	}
 
 	if (cmd_opts.all || cmd_opts.role_allow) {
 		apol_vector_destroy(&v);
-		if (perform_ra_query(policy, &cmd_opts, &v)) {
+		if (perform_ra_query(global_policy, &cmd_opts, &v)) {
 			goto cleanup;
 		}
 
 		if (v) {
-			get_ra_results(policy, v, output);
+			get_ra_results(global_policy, v, output);
 		}
 	}
 
@@ -1016,7 +1016,7 @@  PyObject *wrap_search(PyObject *UNUSED(self), PyObject *args){
     int transition = Dict_ContainsInt(dict, "transition");
     int role_allow = Dict_ContainsInt(dict, "role_allow");
 
-    if (!policy) {
+    if (!global_policy) {
 	    PyErr_SetString(PyExc_RuntimeError,"Policy not loaded");
 	    return NULL;
     }