SELinux: fix bug in new ebitmap code.
authorKaiGai Kohei <kaigai@kaigai.gr.jp>
Tue, 6 Nov 2007 16:17:16 +0000 (01:17 +0900)
committerJames Morris <jmorris@sdv.(none)>
Wed, 7 Nov 2007 21:55:10 +0000 (08:55 +1100)
The "e_iter = e_iter->next;" statement in the inner for loop is primally
bug.  It should be moved to outside of the for loop.

Signed-off-by: KaiGai Kohei <kaigai@kaigai.gr.jp>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
security/selinux/ss/ebitmap.c

index c1a6b22d48d9aa14195673c3f27f9d638ea05ee7..920b5e36a1af97c00ea6294370a4717651a738aa 100644 (file)
@@ -129,8 +129,8 @@ int ebitmap_netlbl_export(struct ebitmap *ebmap,
                        cmap_sft = delta % NETLBL_CATMAP_MAPSIZE;
                        c_iter->bitmap[cmap_idx]
                                |= e_iter->maps[cmap_idx] << cmap_sft;
-                       e_iter = e_iter->next;
                }
+               e_iter = e_iter->next;
        }
 
        return 0;