check return values of chown and chmod
This commit is contained in:
parent
3a9a59db12
commit
fbc8330f54
@ -177,9 +177,12 @@ init_coda(int *dev, dav_run_msgloop_fn *msg_loop, void **mdata)
|
|||||||
*dev = open(path, O_RDWR | O_NONBLOCK);
|
*dev = open(path, O_RDWR | O_NONBLOCK);
|
||||||
if (*dev <= 0) {
|
if (*dev <= 0) {
|
||||||
if (mknod(path, S_IFCHR, makedev(CODA_MAJOR, minor)) == 0) {
|
if (mknod(path, S_IFCHR, makedev(CODA_MAJOR, minor)) == 0) {
|
||||||
chown(path, 0, 0);
|
if (chown(path, 0, 0) == 0
|
||||||
chmod(path, S_IRUSR | S_IWUSR);
|
&& chmod(path, S_IRUSR | S_IWUSR) == 0) {
|
||||||
*dev = open(path, O_RDWR | O_NONBLOCK);
|
*dev = open(path, O_RDWR | O_NONBLOCK);
|
||||||
|
} else {
|
||||||
|
remove(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(path);
|
free(path);
|
||||||
@ -227,9 +230,11 @@ init_fuse(int *dev, dav_run_msgloop_fn *msg_loop, void **mdata,
|
|||||||
}
|
}
|
||||||
if (*dev <= 0) {
|
if (*dev <= 0) {
|
||||||
if (mknod(path, S_IFCHR, makedev(FUSE_MAJOR, FUSE_MINOR)) == 0) {
|
if (mknod(path, S_IFCHR, makedev(FUSE_MAJOR, FUSE_MINOR)) == 0) {
|
||||||
chown(path, 0, 0);
|
if (chown(path, 0, 0) == 0 && chmod(path, S_IRUSR | S_IWUSR) == 0) {
|
||||||
chmod(path, S_IRUSR | S_IWUSR);
|
|
||||||
*dev = open(path, O_RDWR | O_NONBLOCK);
|
*dev = open(path, O_RDWR | O_NONBLOCK);
|
||||||
|
} else {
|
||||||
|
remove(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user