File dictd-1.12.1-unused-return.patch of Package dictd

---
 dictd.c |   40 ++++++++++++++++++++++++++--------------
 1 file changed, 26 insertions(+), 14 deletions(-)

Index: dictd-1.13.3+git.1731775346.2b21553/dictd.c
===================================================================
--- dictd-1.13.3+git.1731775346.2b21553.orig/dictd.c	2024-11-16 17:42:26.000000000 +0100
+++ dictd-1.13.3+git.1731775346.2b21553/dictd.c	2025-03-01 14:27:19.487380130 +0100
@@ -332,6 +332,7 @@
    }
 }
 
+/*
 static void block_signals (void)
 {
    sigset_t set;
@@ -353,6 +354,7 @@
 
    xsigprocmask (SIG_UNBLOCK, &set, NULL);
 }
+*/
 
 static void handler( int sig )
 {
@@ -1270,19 +1272,25 @@
       struct passwd *pwd;
 
       if ((pwd = getpwnam("dictd"))) {
-         setgid(pwd->pw_gid);
-         initgroups("dictd",pwd->pw_gid);
-         setuid(pwd->pw_uid);
+          if (setgid(pwd->pw_gid))
+              err_fatal_errno(NULL, ":E: setgid(%u) failed\n", (unsigned)pwd->pw_gid);
+          initgroups("dictd",pwd->pw_gid);
+          if (setuid(pwd->pw_uid))
+              err_fatal_errno(NULL, ":E: setuid(%u) failed\n", (unsigned)pwd->pw_uid);
       } else if ((pwd = getpwnam("nobody"))) {
-         setgid(pwd->pw_gid);
-         initgroups("nobody",pwd->pw_gid);
-         setuid(pwd->pw_uid);
+          if (setgid(pwd->pw_gid))
+              err_fatal_errno(NULL, ":E: setgid(%u) failed\n", (unsigned)pwd->pw_gid);
+          initgroups("nobody",pwd->pw_gid);
+          if (setuid(pwd->pw_uid))
+              err_fatal_errno(NULL, ":E: setuid(%u) failed\n", (unsigned)pwd->pw_uid);
       } else {
-         setgid(GID_NOGROUP);
-         initgroups("nobody", GID_NOGROUP);
-         setuid(UID_NOBODY);
+          if (setgid(GID_NOGROUP))
+              err_fatal_errno(NULL, ":E: setgid(%u) failed\n", (unsigned)pwd->pw_gid);
+          initgroups("nobody", GID_NOGROUP);
+          if (setuid(UID_NOBODY))
+              err_fatal_errno(NULL, ":E: setuid(%u) failed\n", (unsigned)pwd->pw_uid);
       }
-   }
+  }
 }
 
 /* Perform sanity checks that are often problems for people trying to
@@ -1471,9 +1479,12 @@
    close (1);
    close (2);
 
-   dup (fd);
-   dup (fd);
-   dup (fd);
+   if (dup(fd) == -1)
+       err_fatal_errno(NULL, ":E: dup(2) failed\n");
+   if (dup(fd) == -1)
+       err_fatal_errno(NULL, ":E: dup(2) failed\n");
+   if (dup(fd) == -1)
+       err_fatal_errno(NULL, ":E: dup(2) failed\n");
 }
 
 int main (int argc, char **argv, char **envp)
@@ -1707,7 +1718,8 @@
 
    if (detach){
       /* become a daemon */
-      daemon (0, 1);
+      if (daemon(0, 1))
+          err_fatal_errno(NULL, ":E: daemon(3) failed\n");
       reopen_012 ();
 
       /* after fork from daemon(3) */
openSUSE Build Service is sponsored by