OSDN Git Service

[Fix] #1971 Fixed the failure of compilation in Cygwin
authorHourier <66951241+Hourier@users.noreply.github.com>
Mon, 10 Jan 2022 08:10:58 +0000 (17:10 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 30 Jan 2022 01:27:36 +0000 (10:27 +0900)
src/io/uid-checker.cpp

index d5c3231..fc51cce 100644 (file)
@@ -6,13 +6,12 @@
  */
 void safe_setuid_drop(void)
 {
-#ifdef SET_UID
-#ifdef SAFE_SETUID
+#ifdef SET_UID && SAFE_SETUID
 #ifdef SAFE_SETUID_POSIX
-
     if (setuid(getuid()) != 0) {
         quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
     }
+
     if (setgid(getgid()) != 0) {
         quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
     }
@@ -20,12 +19,12 @@ void safe_setuid_drop(void)
     if (setreuid(geteuid(), getuid()) != 0) {
         quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
     }
+
     if (setregid(getegid(), getgid()) != 0) {
         quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
     }
 #endif
 #endif
-#endif
 }
 
 /*!
@@ -33,27 +32,25 @@ void safe_setuid_drop(void)
  */
 void safe_setuid_grab(PlayerType *player_ptr)
 {
-#ifdef SET_UID
-#ifdef SAFE_SETUID
+#ifdef SET_UID && SAFE_SETUID
 #ifdef SAFE_SETUID_POSIX
-
     if (setuid(player_ptr->player_euid) != 0) {
         quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
     }
+
     if (setgid(player_ptr->player_egid) != 0) {
         quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
     }
 #else
     (void)player_ptr;
-
     if (setreuid(geteuid(), getuid()) != 0) {
         quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
     }
+
     if (setregid(getegid(), getgid()) != 0) {
         quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
     }
 #endif
-#endif
 #else
     (void)player_ptr;
 #endif