diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-07 15:15:02 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-07 15:15:02 +0100 |
commit | 1a900513fb137143e1c1f8177975952bc404f5a9 (patch) | |
tree | fd305c969cb2dbea6ead1cd713df0b885beb8f9a /sys/src/libndb/csipinfo.c | |
parent | 5e59c57bb110403f83a41ad88415e108c6cb1f6a (diff) |
libndb: open internal file-descriptors with OCEXEC flag
Diffstat (limited to 'sys/src/libndb/csipinfo.c')
-rw-r--r-- | sys/src/libndb/csipinfo.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/src/libndb/csipinfo.c b/sys/src/libndb/csipinfo.c index 53c33f328..38a927443 100644 --- a/sys/src/libndb/csipinfo.c +++ b/sys/src/libndb/csipinfo.c @@ -23,10 +23,10 @@ csipinfo(char *netroot, char *attr, char *val, char **list, int n) snprint(line, sizeof(line), "%s/cs", netroot); else strcpy(line, "/net/cs"); - fd = open(line, ORDWR); + fd = open(line, ORDWR|OCEXEC); if(fd < 0) - return 0; - seek(fd, 0, 0); + return nil; + e = line + sizeof(line); p = seprint(line, e, "!ipinfo %s=%s", attr, val); for(i = 0; i < n; i++){ @@ -37,11 +37,11 @@ csipinfo(char *netroot, char *attr, char *val, char **list, int n) if(write(fd, line, strlen(line)) < 0){ close(fd); - return 0; + return nil; } seek(fd, 0, 0); - first = last = 0; + first = last = nil; for(;;){ n = read(fd, line, sizeof(line)-2); if(n <= 0) @@ -50,15 +50,15 @@ csipinfo(char *netroot, char *attr, char *val, char **list, int n) line[n+1] = 0; t = _ndbparseline(line); - if(t == 0) + if(t == nil) continue; - if(first) + if(first != nil) last->entry = t; else first = t; last = t; - while(last->entry) + while(last->entry != nil) last = last->entry; } close(fd); |