libsepol: Quote paths when generating policy.conf from binary policy

Christian Göttsche <cgzones@googlemail.com> submitted a similar patch
to quote paths when generating CIL policy from a binary policy.

Since genfscon and devicetreecon rules have paths which are allowed
to contain spaces, always quote the path when writing out these rules.

Signed-off-by: James Carter <jwcart2@gmail.com>
Acked-by: Petr Lautrbach <plautrba@redhat.com>
This commit is contained in:
James Carter 2021-06-15 16:31:01 -04:00
parent 4a60fd78d2
commit ce1025bf9c

View File

@ -2527,7 +2527,7 @@ static int write_genfscon_rules_to_conf(FILE *out, struct policydb *pdb)
goto exit;
}
rc = strs_create_and_add(strs, "genfscon %s %s %s", 3,
rc = strs_create_and_add(strs, "genfscon %s \"%s\" %s", 3,
fstype, name, ctx);
free(ctx);
if (rc != 0) {
@ -2992,7 +2992,7 @@ static int write_xen_devicetree_rules_to_conf(FILE *out, struct policydb *pdb)
goto exit;
}
sepol_printf(out, "devicetreecon %s %s\n", name, ctx);
sepol_printf(out, "devicetreecon \"%s\" %s\n", name, ctx);
free(ctx);
}