aboutsummaryrefslogtreecommitdiffstats
path: root/src/fbuilder/build_seccomp.c
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2018-08-28 13:04:13 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2018-08-28 13:04:13 -0400
commit8ce3b7ab971d6ab02463fd6c7591a73465526cb1 (patch)
tree2df83450626433978a970dbae4fb38d84754600e /src/fbuilder/build_seccomp.c
parentmemory leaks (diff)
downloadfirejail-8ce3b7ab971d6ab02463fd6c7591a73465526cb1.tar.gz
firejail-8ce3b7ab971d6ab02463fd6c7591a73465526cb1.tar.zst
firejail-8ce3b7ab971d6ab02463fd6c7591a73465526cb1.zip
fbuider cleanup
Diffstat (limited to 'src/fbuilder/build_seccomp.c')
-rw-r--r--src/fbuilder/build_seccomp.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/fbuilder/build_seccomp.c b/src/fbuilder/build_seccomp.c
index 64bcac586..fbc0e06f4 100644
--- a/src/fbuilder/build_seccomp.c
+++ b/src/fbuilder/build_seccomp.c
@@ -20,12 +20,11 @@
20 20
21#include "fbuilder.h" 21#include "fbuilder.h"
22 22
23void build_seccomp(char *fname, int fd, FILE *fp) { 23void build_seccomp(const char *fname, FILE *fp) {
24 assert(fname); 24 assert(fname);
25 assert(fd);
26 assert(fp); 25 assert(fp);
27 26
28 FILE *fp2 = fdopen(fd, "r"); 27 FILE *fp2 = fopen(fname, "r");
29 if (!fp2) { 28 if (!fp2) {
30 fprintf(stderr, "Error: cannot open %s\n", fname); 29 fprintf(stderr, "Error: cannot open %s\n", fname);
31 exit(1); 30 exit(1);
@@ -88,12 +87,11 @@ int inet = 0;
88int inet6 = 0; 87int inet6 = 0;
89int netlink = 0; 88int netlink = 0;
90int packet = 0; 89int packet = 0;
91static void process_protocol(char *fname, int fd) { 90static void process_protocol(const char *fname) {
92 assert(fname); 91 assert(fname);
93 assert(fd);
94 92
95 // process trace file 93 // process trace file
96 FILE *fp = fdopen(fd, "r"); 94 FILE *fp = fopen(fname, "r");
97 if (!fp) { 95 if (!fp) {
98 fprintf(stderr, "Error: cannot open %s\n", fname); 96 fprintf(stderr, "Error: cannot open %s\n", fname);
99 exit(1); 97 exit(1);
@@ -144,13 +142,11 @@ static void process_protocol(char *fname, int fd) {
144 142
145 143
146// process fname, fname.1, fname.2, fname.3, fname.4, fname.5 144// process fname, fname.1, fname.2, fname.3, fname.4, fname.5
147void build_protocol(char *fname, int fd, FILE *fp) { 145void build_protocol(const char *fname, FILE *fp) {
148 assert(fname); 146 assert(fname);
149 assert(fd);
150 assert(fp);
151 147
152 // run fname 148 // run fname
153 process_protocol(fname, fd); 149 process_protocol(fname);
154 150
155 // run all the rest 151 // run all the rest
156 struct stat s; 152 struct stat s;
@@ -159,11 +155,8 @@ void build_protocol(char *fname, int fd, FILE *fp) {
159 char *newname; 155 char *newname;
160 if (asprintf(&newname, "%s.%d", fname, i) == -1) 156 if (asprintf(&newname, "%s.%d", fname, i) == -1)
161 errExit("asprintf"); 157 errExit("asprintf");
162 if (stat(newname, &s) == 0) { 158 if (stat(newname, &s) == 0)
163 int nfd = open(newname, O_RDONLY); 159 process_protocol(newname);
164 process_protocol(newname, nfd);
165 unlink(newname);
166 }
167 free(newname); 160 free(newname);
168 } 161 }
169 162