mirror of
https://github.com/troglobit/finit.git
synced 2026-11-06 15:51:03 +00:00
Fix problem with unchecked return value of mkdir(), wrap in makedir() macro.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
4e975e4974
commit
81a368f710
6 files changed
+30
-27
No files matched your search
@@ -181,8 +181,8 @@ int main(int argc, char* argv[])
|
|||||||
mount("none", "/proc", "proc", 0, NULL);
|
mount("none", "/proc", "proc", 0, NULL);
|
||||||
mount("none", "/proc/bus/usb", "usbfs", 0, NULL);
|
mount("none", "/proc/bus/usb", "usbfs", 0, NULL);
|
||||||
mount("none", "/sys", "sysfs", 0, NULL);
|
mount("none", "/sys", "sysfs", 0, NULL);
|
||||||
mkdir("/dev/pts", 0755);
|
makedir("/dev/pts", 0755);
|
||||||
mkdir("/dev/shm", 0755);
|
makedir("/dev/shm", 0755);
|
||||||
mount("none", "/dev/pts", "devpts", 0, "gid=5,mode=620");
|
mount("none", "/dev/pts", "devpts", 0, "gid=5,mode=620");
|
||||||
mount("none", "/dev/shm", "tmpfs", 0, NULL);
|
mount("none", "/dev/shm", "tmpfs", 0, NULL);
|
||||||
umask(022);
|
umask(022);
|
||||||
|
|||||||
@@ -44,6 +44,9 @@
|
|||||||
#ifndef touch
|
#ifndef touch
|
||||||
# define touch(x) do { if (mknod((x), S_IFREG|0644, 0) && errno != EEXIST) _pe("Failed creating %s", x); } while (0)
|
# define touch(x) do { if (mknod((x), S_IFREG|0644, 0) && errno != EEXIST) _pe("Failed creating %s", x); } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef makedir
|
||||||
|
# define makedir(x, p) do { if (mkdir(x, p) && errno != EEXIST) _pe("Failed creating directory %s", x); } while (0)
|
||||||
|
#endif
|
||||||
#ifndef chardev
|
#ifndef chardev
|
||||||
# define chardev(x,m,maj,min) mknod((x), S_IFCHR|(m), makedev((maj),(min)))
|
# define chardev(x,m,maj,min) mknod((x), S_IFCHR|(m), makedev((maj),(min)))
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+2
-2
@@ -59,8 +59,8 @@ int rsync(char *src, char *dst, int delete, int (*filter) (const char *file))
|
|||||||
int i = 0, num = 0, result = 0;
|
int i = 0, num = 0, result = 0;
|
||||||
char **files; /* Array of file names. */
|
char **files; /* Array of file names. */
|
||||||
|
|
||||||
if (!fisdir(dst))
|
if (!fisdir(dst)
|
||||||
mkdir(dst, 0755);
|
makedir(dst, 0755);
|
||||||
|
|
||||||
if (!fisdir(src)) {
|
if (!fisdir(src)) {
|
||||||
if (!fexist(src))
|
if (!fexist(src))
|
||||||
|
|||||||
+19
-19
@@ -39,20 +39,20 @@ static void setup(void *UNUSED(arg))
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
_d("Setting up FHS structure in /var ...");
|
_d("Setting up FHS structure in /var ...");
|
||||||
mkdir("/var/cache", 0755);
|
makedir("/var/cache", 0755);
|
||||||
mkdir("/var/games", 0755);
|
makedir("/var/games", 0755);
|
||||||
mkdir("/var/lib", 0755);
|
makedir("/var/lib", 0755);
|
||||||
mkdir("/var/lib/misc", 0755);
|
makedir("/var/lib/misc", 0755);
|
||||||
mkdir("/var/lib/alarm", 0755);
|
makedir("/var/lib/alarm", 0755);
|
||||||
mkdir("/var/lock", 0755);
|
makedir("/var/lock", 0755);
|
||||||
mkdir("/var/log", 0755);
|
makedir("/var/log", 0755);
|
||||||
mkdir("/var/mail", 0755);
|
makedir("/var/mail", 0755);
|
||||||
mkdir("/var/opt", 0755);
|
makedir("/var/opt", 0755);
|
||||||
mkdir("/var/run", 0755);
|
makedir("/var/run", 0755);
|
||||||
mkdir("/var/spool", 0755);
|
makedir("/var/spool", 0755);
|
||||||
mkdir("/var/spool/cron", 0755);
|
makedir("/var/spool/cron", 0755);
|
||||||
mkdir("/var/tmp", 0755);
|
makedir("/var/tmp", 0755);
|
||||||
mkdir("/var/empty", 0755);
|
makedir("/var/empty", 0755);
|
||||||
|
|
||||||
_d("Setting up necessary UTMP files ...");
|
_d("Setting up necessary UTMP files ...");
|
||||||
touch("/var/run/utmp");
|
touch("/var/run/utmp");
|
||||||
@@ -75,11 +75,11 @@ static void setup(void *UNUSED(arg))
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
_d("Setting up misc files ...");
|
_d("Setting up misc files ...");
|
||||||
mkdir("/var/run/lldpd", 0755); /* Needed by lldpd */
|
makedir("/var/run/lldpd", 0755); /* Needed by lldpd */
|
||||||
mkdir("/var/run/pluto", 0755); /* Needed by Openswan */
|
makedir("/var/run/pluto", 0755); /* Needed by Openswan */
|
||||||
mkdir("/var/run/quagga", 0755); /* Needed by Quagga */
|
makedir("/var/run/quagga", 0755); /* Needed by Quagga */
|
||||||
mkdir("/var/log/quagga", 0755); /* Needed by Quagga */
|
makedir("/var/log/quagga", 0755); /* Needed by Quagga */
|
||||||
mkdir("/var/run/sshd", 01755); /* OpenSSH */
|
makedir("/var/run/sshd", 01755); /* OpenSSH */
|
||||||
mkfifo("/dev/xconsole", 0640); /* sysklogd */
|
mkfifo("/dev/xconsole", 0640); /* sysklogd */
|
||||||
chown("/dev/xconsole", 0, getgroup("tty"));
|
chown("/dev/xconsole", 0, getgroup("tty"));
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -29,8 +29,8 @@ static void setup(void *UNUSED(arg))
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_DBUS
|
#ifdef HAVE_DBUS
|
||||||
_d("Starting D-Bus ...");
|
_d("Starting D-Bus ...");
|
||||||
mkdir("/var/run/dbus", 0755);
|
makedir("/var/run/dbus", 0755);
|
||||||
mkdir("/var/lock/subsys/messagebus", 0755);
|
makedir("/var/lock/subsys/messagebus", 0755);
|
||||||
run("dbus-uuidgen --ensure");
|
run("dbus-uuidgen --ensure");
|
||||||
remove("/var/run/dbus/pid");
|
remove("/var/run/dbus/pid");
|
||||||
run_interactive("dbus-daemon --system", "Starting D-Bus");
|
run_interactive("dbus-daemon --system", "Starting D-Bus");
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ static void setup(void *UNUSED(arg))
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
mkdir("/tmp/.X11-unix", 01777);
|
makedir("/tmp/.X11-unix", 01777);
|
||||||
mkdir("/tmp/.ICE-unix", 01777);
|
makedir("/tmp/.ICE-unix", 01777);
|
||||||
}
|
}
|
||||||
|
|
||||||
static plugin_t plugin = {
|
static plugin_t plugin = {
|
||||||
|
|||||||
Reference in new issue
Block a user