kernel: boot: fix dup() leaks reported by coverity

This commit is contained in:
Giacomo Tesio 2017-01-17 22:01:15 +01:00
parent e1a14b49be
commit 49040ffdaa
3 changed files with 16 additions and 8 deletions

View File

@ -368,11 +368,13 @@ startconsole(void)
fatal("mount /dev");
if((i = open("/dev/cons", OREAD))<0)
fatal("open /dev/cons, OREAD");
dup(i, 0);
if(dup(i, 0) != 0)
fatal("dup(i, 0)");
close(i);
if((i = open("/dev/cons", OWRITE))<0)
fatal("open /dev/cons, OWRITE");
dup(i, 1);
if(dup(i, 1) != 1)
fatal("dup(i, 1)");
close(i);
if(dup(1, 2) != 2)
fatal("dup(1, 2)");
@ -423,11 +425,13 @@ startcomconsole(void)
fatal("mount /dev");
if((i = open("/dev/cons", OREAD))<0)
fatal("open /dev/cons, OREAD");
dup(i, 0);
if(dup(i, 0) != 0)
fatal("dup(i, 0)");
close(i);
if((i = open("/dev/cons", OWRITE))<0)
fatal("open /dev/cons, OWRITE");
dup(i, 1);
if(dup(i, 1) != 1)
fatal("dup(i, 1)");
close(i);
if(dup(1, 2) != 2)
fatal("dup(1, 2)");

View File

@ -70,9 +70,11 @@ cache(int fd)
fatal("fork");
case 0:
close(p[1]);
dup(fd, 0);
if(dup(fd, 0) != 0)
fatal("dup(fd, 0)");
close(fd);
dup(p[0], 1);
if(dup(p[0], 1) != 1)
fatal("dup(p[0], 1)");
close(p[0]);
if(fflag)
execl("/boot/cfs", "bootcfs", "-rs", "-f", partition, 0);

View File

@ -69,8 +69,10 @@ connectembed(void)
*argp++ = bargv[i];
*argp = 0;
dup(p[0], 0);
dup(p[1], 1);
if(dup(p[0], 0) != 0)
fatal("dup(p[0], 0)");
if(dup(p[1], 1) != 1)
fatal("dup(p[1], 1)");
close(p[0]);
close(p[1]);
exec("/boot/paqfs", (const char**)arg);