The result of fork() was being saved but not used. Use it in the auditd
main() to report fork failures.
---
pyanaconda/isys/auditd.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/isys/auditd.c b/pyanaconda/isys/auditd.c
index f25eecb..24cefa8 100644
--- a/pyanaconda/isys/auditd.c
+++ b/pyanaconda/isys/auditd.c
@@ -31,6 +31,7 @@
#include <signal.h>
#include <string.h>
#include <stdlib.h>
+#include <stdio.h>
#include <errno.h>
#include <libaudit.h>
@@ -100,6 +101,9 @@ int audit_daemonize(void) {
if ((child = fork()) > 0)
return 0;
+ if (child < 0)
+ return -1;
+
#ifndef STANDALONE
for (fd = 0; fd < getdtablesize(); fd++)
close(fd);
@@ -126,7 +130,13 @@ int audit_daemonize(void) {
#ifdef STANDALONE
int main(void) {
- return audit_daemonize();
+ if (audit_daemonize() < 0)
+ {
+ perror("fork");
+ return 1;
+ }
+
+ return 0;
}
#endif /* STANDALONE */
--
1.8.5.3