#include <unistd.h>
#include <err.h>
#include <errno.h>
+#include <string.h>
struct child_data {
pid_t pid;
char buffer[2];
pid = getpid();
daemonize();
+ /* Keep valgrind happy about uninitialized bytes. */
+ memset(&daemonized, 0, sizeof(daemonized));
daemonized.pid = getpid();
daemonized.in_root_dir = (getcwd(buffer, 2) != NULL);
daemonized.read_from_stdin
while (getppid() == pid)
sleep(1);
daemonized.ppid = getppid();
- write(fds[1], &daemonized, sizeof(daemonized));
+ if (write(fds[1], &daemonized, sizeof(daemonized))
+ != sizeof(daemonized))
+ exit(1);
exit(0);
}