diff options
| author | Henry Kroll III <henry@comptune.com> | 2010-10-27 03:44:00 -0700 |
|---|---|---|
| committer | Henry K <henry@desk.local> | 2010-10-27 03:54:12 -0700 |
| commit | fb498eb9257f4ac37e730b5af608e7812a4f63bf (patch) | |
| tree | 1c6f20b33d399e0d8c6b7c8f05627f4c41813c5b /tccrun.c | |
| parent | 14673d0c49156b42c3cd04a86c36906f338c7fee (diff) | |
| download | tinycc-fb498eb9257f4ac37e730b5af608e7812a4f63bf.tar.gz tinycc-fb498eb9257f4ac37e730b5af608e7812a4f63bf.tar.bz2 | |
selinux: correct ftruncate, fix bus error in tcc -run
Diffstat (limited to 'tccrun.c')
| -rw-r--r-- | tccrun.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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){ |
