Merge cherrypicks of [16730965] into rvc-platform-release.

Change-Id: I45d4804b49ddc914707fef2e7dd802bf45516f75
diff --git a/libselinux/src/label_backends_android.c b/libselinux/src/label_backends_android.c
index eaca594..df8101d 100644
--- a/libselinux/src/label_backends_android.c
+++ b/libselinux/src/label_backends_android.c
@@ -278,6 +278,12 @@
 	struct spec *spec;
 	unsigned int i;
 
+	if (!data)
+		return;
+
+	/* make sure successive ->func_close() calls are harmless */
+	rec->data = NULL;
+
 	if (data->spec_arr) {
 		for (i = 0; i < data->nspec; i++) {
 			spec = &data->spec_arr[i];