Close the descriptor to /tmp/.preinit returned by creat() in order to avoid
an fd leak in the init process.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
{
char *init[] = { "/bin/sh", "/etc/preinit", NULL };
char *plug[] = { "/sbin/procd", "-h", "/etc/hotplug-preinit.json", NULL };
{
char *init[] = { "/bin/sh", "/etc/preinit", NULL };
char *plug[] = { "/sbin/procd", "-h", "/etc/hotplug-preinit.json", NULL };
uloop_process_add(&plugd_proc);
setenv("PREINIT", "1", 1);
uloop_process_add(&plugd_proc);
setenv("PREINIT", "1", 1);
- creat("/tmp/.preinit", 0600);
+
+ fd = creat("/tmp/.preinit", 0600);
+
+ if (fd < 0)
+ ERROR("Failed to create sentinel file\n");
+ else
+ close(fd);
preinit_proc.cb = spawn_procd;
preinit_proc.pid = fork();
preinit_proc.cb = spawn_procd;
preinit_proc.pid = fork();