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