Commit c36f74e6 authored by Joshua Roys's avatar Joshua Roys Committed by James Morris

netlabel: fix export of SELinux categories > 127

This fixes corrupted CIPSO packets when SELinux categories greater than 127
are used.  The bug occured on the second (and later) loops through the
while; the inner for loop through the ebitmap->maps array used the same
index as the NetLabel catmap->bitmap array, even though the NetLabel bitmap
is twice as long as the SELinux bitmap.
Signed-off-by: default avatarJoshua Roys <joshua.roys@gtri.gatech.edu>
Acked-by: default avatarPaul Moore <paul.moore@hp.com>
Signed-off-by: default avatarJames Morris <jmorris@namei.org>
parent baac35c4
...@@ -128,7 +128,7 @@ int ebitmap_netlbl_export(struct ebitmap *ebmap, ...@@ -128,7 +128,7 @@ int ebitmap_netlbl_export(struct ebitmap *ebmap,
cmap_idx = delta / NETLBL_CATMAP_MAPSIZE; cmap_idx = delta / NETLBL_CATMAP_MAPSIZE;
cmap_sft = delta % NETLBL_CATMAP_MAPSIZE; cmap_sft = delta % NETLBL_CATMAP_MAPSIZE;
c_iter->bitmap[cmap_idx] c_iter->bitmap[cmap_idx]
|= e_iter->maps[cmap_idx] << cmap_sft; |= e_iter->maps[i] << cmap_sft;
} }
e_iter = e_iter->next; e_iter = e_iter->next;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment