]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - security/selinux/ss/conditional.c
Merge branch 'master' of git://git.infradead.org/users/eparis/selinux into next
[mv-sheeva.git] / security / selinux / ss / conditional.c
index 655fe1c6cc69dccd862b3142a37e41b6fb4010a7..c3f845cbcd48b6019dae5c3ca7df2bf4317a3b01 100644 (file)
@@ -193,6 +193,7 @@ int cond_index_bool(void *key, void *datum, void *datap)
 {
        struct policydb *p;
        struct cond_bool_datum *booldatum;
+       struct flex_array *fa;
 
        booldatum = datum;
        p = datap;
@@ -200,7 +201,10 @@ int cond_index_bool(void *key, void *datum, void *datap)
        if (!booldatum->value || booldatum->value > p->p_bools.nprim)
                return -EINVAL;
 
-       p->p_bool_val_to_name[booldatum->value - 1] = key;
+       fa = p->sym_val_to_name[SYM_BOOLS];
+       if (flex_array_put_ptr(fa, booldatum->value - 1, key,
+                              GFP_KERNEL | __GFP_ZERO))
+               BUG();
        p->bool_val_to_struct[booldatum->value - 1] = booldatum;
 
        return 0;