From fb498eb9257f4ac37e730b5af608e7812a4f63bf Mon Sep 17 00:00:00 2001 From: Henry Kroll III Date: Wed, 27 Oct 2010 03:44:00 -0700 Subject: [PATCH] selinux: correct ftruncate, fix bus error in tcc -run --- tccrun.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tccrun.c b/tccrun.c index 24e1f95a..0423a1d3 100644 --- a/tccrun.c +++ b/tccrun.c @@ -38,12 +38,13 @@ int tcc_relocate(TCCState *s1) { int ret; #ifdef HAVE_SELINUX + /* Use mmap instead of malloc for Selinux + Ref http://www.gnu.org/s/libc/manual/html_node/File-Size.html */ char tmpfname[] = "/tmp/.tccrunXXXXXX"; int fd = mkstemp (tmpfname); - unlink (tmpfname); ftruncate (fd, 1000); if ((ret= tcc_relocate_ex(s1,NULL)) < 0)return -1; s1->mem_size=ret; - /* Use mmap instead of malloc for Selinux */ + unlink (tmpfname); ftruncate (fd, s1->mem_size); s1->write_mem = mmap (NULL, ret, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if(s1->write_mem == MAP_FAILED){ -- 2.11.4.GIT