diff options
-rw-r--r-- | libselinux/src/label_backends_android.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libselinux/src/label_backends_android.c b/libselinux/src/label_backends_android.c index d81faabe..121b52f5 100644 --- a/libselinux/src/label_backends_android.c +++ b/libselinux/src/label_backends_android.c @@ -278,6 +278,12 @@ static void closef(struct selabel_handle *rec) 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]; |