ref: 58eb310a096f221aa1a6cdaf33d1cc84f829939a
parent: c573dbaca6927bfa90a22ec716498dbe9abdd213
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Dec 7 11:47:06 EST 2020
libauthsrv: open internal file-descriptors with OCEXEC flag
--- a/sys/src/libauthsrv/readcons.c
+++ b/sys/src/libauthsrv/readcons.c
@@ -13,13 +13,13 @@
s = p = nil;
fdout = ctl = -1;
- if((fdin = open("/dev/cons", OREAD)) < 0)+ if((fdin = open("/dev/cons", OREAD|OCEXEC)) < 0)goto Out;
- if((fdout = open("/dev/cons", OWRITE)) < 0)+ if((fdout = open("/dev/cons", OWRITE|OCEXEC)) < 0)goto Out;
if(raw){- if((ctl = open("/dev/consctl", OWRITE)) < 0)+ if((ctl = open("/dev/consctl", OWRITE|OCEXEC)) < 0)goto Out;
write(ctl, "rawon", 5);
}
--- a/sys/src/libauthsrv/readnvram.c
+++ b/sys/src/libauthsrv/readnvram.c
@@ -91,9 +91,9 @@
v[0] = "";
v[1] = nil;
}
- fd = open(v[0], ORDWR);
+ fd = open(v[0], ORDWR|OCEXEC);
if (fd < 0)
- fd = open(v[0], OREAD);
+ fd = open(v[0], OREAD|OCEXEC);
safelen = sizeof(Nvrsafe);
if(strstr(v[0], "/9fat") == nil)
safeoff = 0;
@@ -120,7 +120,7 @@
for(i=0; i<nelem(nvtab); i++){if(strcmp(cputype, nvtab[i].cputype) != 0)
continue;
- if((fd = open(nvtab[i].file, ORDWR)) < 0)
+ if((fd = open(nvtab[i].file, ORDWR|OCEXEC)) < 0)
continue;
safeoff = nvtab[i].off;
safelen = nvtab[i].len;
--
⑨