Re: [PATCH 1/1] policycoreutils: semodule_package: do not fail with an empty fc file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ack on this, I've had similar issues in Android that I patched up in the Android specific tooling.


On Oct 30, 2016 14:28, "Nicolas Iooss" <nicolas.iooss@xxxxxxx> wrote:
When running sepolgen tests on a Linux 4.7 kernel, one test fails with
the following message:

    /usr/bin/semodule_package:  Failed to mmap
    tmp/module_compile_test.mod.fc:  Invalid argument

The .fc file is empty, which is why it cannot be used with mmap().
Anyway the current code supports empty files (with if() conditions in
main()) so do not try to mmap an empty file in file_to_data().

Signed-off-by: Nicolas Iooss <nicolas.iooss@xxxxxxx>
---

While at it, it seems that neither seusersdata nor user_extradata are
unmapped at the end of main(). As this does not cause a test to fail
I will not send a patch to fix this.

 policycoreutils/semodule_package/semodule_package.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/policycoreutils/semodule_package/semodule_package.c b/policycoreutils/semodule_package/semodule_package.c
index d2a5fd07bd71..e472054826a3 100644
--- a/policycoreutils/semodule_package/semodule_package.c
+++ b/policycoreutils/semodule_package/semodule_package.c
@@ -72,6 +72,10 @@ static int file_to_data(const char *path, char **data, size_t * len)
                        path, strerror(errno));
                goto err;
        }
+       if (!sb.st_size) {
+               *len = 0;
+               return 0;
+       }

        *data = "" sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
        if (*data == MAP_FAILED) {
--
2.10.1

_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux