Project import generated by Copybara. GitOrigin-RevId: cd9641f348672eb6ab6a297f7e59d6bc465f4023
diff --git a/libselinux/Android.mk b/libselinux/Android.mk index 52ee483..81a742f 100644 --- a/libselinux/Android.mk +++ b/libselinux/Android.mk
@@ -98,7 +98,9 @@ -Werror \ -Wno-error=missing-noreturn \ -Wno-error=unused-function \ - -Wno-error=unused-variable + -Wno-error=unused-variable \ + -Wno-unused-but-set-variable \ + -Wno-bitwise-instead-of-logical include $(CLEAR_VARS) LOCAL_MODULE := libselinux
diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c index 0b102a1..68187c9 100644 --- a/libselinux/src/label_file.c +++ b/libselinux/src/label_file.c
@@ -274,12 +274,11 @@ /* store the mapping between old and new */ newid = find_stem(data, buf, stem_len); if (newid < 0) { - newid = store_stem(data, buf, stem_len); + newid = store_stem(data, buf, stem_len, 1); if (newid < 0) { rc = newid; goto out; } - data->stem_arr[newid].from_mmap = 1; } stem_map[i] = newid; }
diff --git a/libselinux/src/label_file.h b/libselinux/src/label_file.h index baed334..245523c 100644 --- a/libselinux/src/label_file.h +++ b/libselinux/src/label_file.h
@@ -276,7 +276,8 @@ } /* returns the index of the new stored object */ -static inline int store_stem(struct saved_data *data, char *buf, int stem_len) +static inline int store_stem(struct saved_data *data, char *buf, int stem_len, + char from_mmap) { int num = data->num_stems; @@ -286,7 +287,8 @@ tmp_arr = realloc(data->stem_arr, sizeof(*tmp_arr) * alloc_stems); if (!tmp_arr) { - free(buf); + if (!from_mmap) + free(buf); return -1; } data->alloc_stems = alloc_stems; @@ -294,7 +296,7 @@ } data->stem_arr[num].len = stem_len; data->stem_arr[num].buf = buf; - data->stem_arr[num].from_mmap = 0; + data->stem_arr[num].from_mmap = from_mmap; data->num_stems++; return num; @@ -321,7 +323,7 @@ if (!stem) return -1; - return store_stem(data, stem, stem_len); + return store_stem(data, stem, stem_len, 0); } /* This will always check for buffer over-runs and either read the next entry
diff --git a/libsepol/Android.mk b/libsepol/Android.mk index b491a46..7389ef1 100644 --- a/libsepol/Android.mk +++ b/libsepol/Android.mk
@@ -8,7 +8,9 @@ -Wundef \ -Wshadow \ -Wno-error=missing-noreturn \ - -Wmissing-format-attribute + -Wmissing-format-attribute \ + -Wno-unused-but-set-variable \ + -Wno-bitwise-instead-of-logical libsepol_src := \ src/assertion.c \
diff --git a/prebuilts/bin/audit2why b/prebuilts/bin/audit2why index 38dd602..2221373 100755 --- a/prebuilts/bin/audit2why +++ b/prebuilts/bin/audit2why
@@ -1,20 +1,20 @@ #!/bin/sh -if [ -z "${ANDROID_HOST_OUT}" ]; then - echo 'ANDROID_HOST_OUT not set. Have you run lunch?' +if [ -z "${HOST_OUT_EXECUTABLES}" ]; then + echo 'HOST_OUT_EXECUTABLES not set. Some error with make setup?' exit 1 elif [ -z "${ANDROID_BUILD_TOP}" ]; then echo 'ANDROID_BUILD_TOP not set. Have you run lunch?' exit 1 -elif [ ! -f "$ANDROID_HOST_OUT/lib64/libselinux.so" ]; then - echo "Cannot find $ANDROID_HOST_OUT/lib64/libselinux.so" +elif [ ! -f "$HOST_OUT_EXECUTABLES/lib64/libselinux.so" ]; then + echo "Cannot find $HOST_OUT_EXECUTABLES/lib64/libselinux.so" echo "Need to build project" exit 1 fi unamestr=`uname` if [ "$unamestr" = "Linux" -o "$unamestr" = "linux" ]; then - export LD_PRELOAD=$ANDROID_HOST_OUT/lib64/libselinux.so + export LD_PRELOAD=$HOST_OUT_EXECUTABLES/lib64/libselinux.so export PYTHONPATH=$ANDROID_BUILD_TOP/prebuilts/python/linux-x86/2.7.5/lib/python2.7/site-packages exec python $ANDROID_BUILD_TOP/external/selinux/python/audit2allow/audit2why "$@" else