diff --git libsemanage-2.6/src/Makefile libsemanage-2.6/src/Makefile index 68aab72..ccaa29d 100644 --- libsemanage-2.6/src/Makefile +++ libsemanage-2.6/src/Makefile @@ -2,7 +2,7 @@ # runtimes (e.g. Python 2 vs Python 3) by optionally prefixing the build # targets with "PYPREFIX": PYTHON ?= python -PYPREFIX ?= $(notdir $(PYTHON)) +PYPREFIX ?= $(shell $(PYTHON) -c 'import sys;print("python%d" % sys.version_info[0])') RUBY ?= ruby RUBYPREFIX ?= $(notdir $(RUBY)) PKG_CONFIG ?= pkg-config diff --git libsemanage-2.6/src/semanage_store.c libsemanage-2.6/src/semanage_store.c index ca29257..c36425e 100644 --- libsemanage-2.6/src/semanage_store.c +++ libsemanage-2.6/src/semanage_store.c @@ -1158,7 +1158,7 @@ cleanup: free(all_modinfos); if (status != 0) { - for (i = 0; i < j; j++) { + for (i = 0; i < j; i++) { semanage_module_info_destroy(sh, &(*modinfo)[i]); } free(*modinfo); diff --git libsemanage-2.6/src/seuser_record.c libsemanage-2.6/src/seuser_record.c index 8823b1e..1ed4594 100644 --- libsemanage-2.6/src/seuser_record.c +++ libsemanage-2.6/src/seuser_record.c @@ -33,7 +33,7 @@ struct semanage_seuser { struct semanage_seuser_key { /* This user's name */ - const char *name; + char *name; }; int semanage_seuser_key_create(semanage_handle_t * handle, @@ -48,7 +48,12 @@ int semanage_seuser_key_create(semanage_handle_t * handle, ERR(handle, "out of memory, could not create seuser key"); return STATUS_ERR; } - tmp_key->name = name; + tmp_key->name = strdup(name); + if (!tmp_key->name) { + ERR(handle, "out of memory, could not create seuser key"); + free(tmp_key); + return STATUS_ERR; + } *key_ptr = tmp_key; return STATUS_SUCCESS; @@ -75,7 +80,7 @@ hidden_def(semanage_seuser_key_extract) void semanage_seuser_key_free(semanage_seuser_key_t * key) { - + free(key->name); free(key); }