From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Mon, 10 Jan 2022 08:33:39 +0000 (+0900) Subject: [Refactor] #1974 Included error code into the error message of setuid(), setgid(... X-Git-Tag: vmacos3.0.0-alpha52~4^2~1^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=43dd3fb5124c5820f7ab8fa41d3b4cdec397042e;p=hengbandforosx%2Fhengbandosx.git [Refactor] #1974 Included error code into the error message of setuid(), setgid(), setreuid() and setregid() --- diff --git a/src/io/uid-checker.cpp b/src/io/uid-checker.cpp index fc51cceb2..e28ce3abe 100644 --- a/src/io/uid-checker.cpp +++ b/src/io/uid-checker.cpp @@ -2,53 +2,62 @@ #include "system/player-type-definition.h" /*! - * @brief ファイルのドロップパーミッションチェック / Hack -- drop permissions + * @brief ファイルのドロップパーミッションチェック / Check drop permissions */ void safe_setuid_drop(void) { -#ifdef SET_UID && SAFE_SETUID +#if defined(SET_UID) && defined(SAFE_SETUID) #ifdef SAFE_SETUID_POSIX - if (setuid(getuid()) != 0) { - quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!")); + if (auto ret = setuid(getuid()); ret != 0) { + auto msg = _("setuid(): 正しく許可が取れません! エラーコード:%d", "setuid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } - if (setgid(getgid()) != 0) { - quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!")); + if (auto ret = setgid(getgid()); ret != 0) { + auto msg = _("setgid(): 正しく許可が取れません! エラーコード:%d", "setgid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } #else - if (setreuid(geteuid(), getuid()) != 0) { - quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!")); + if (auto ret = setreuid(geteuid(), getuid()); ret != 0) { + auto msg = _("setreuid(): 正しく許可が取れません! エラーコード:%d", "setreuid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } - if (setregid(getegid(), getgid()) != 0) { - quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!")); + if (auto ret = setregid(getegid(), getgid()); ret != 0) { + auto msg = _("setregid(): 正しく許可が取れません! エラーコード:%d", "setregid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } #endif #endif } /*! - * @brief ファイルのグラブパーミッションチェック / Hack -- grab permissions + * @brief ファイルのグラブパーミッションチェック / Check grab permissions + * @param プレイヤーへの参照ポインタ */ void safe_setuid_grab(PlayerType *player_ptr) { -#ifdef SET_UID && SAFE_SETUID +#if defined(SET_UID) && defined(SAFE_SETUID) #ifdef SAFE_SETUID_POSIX - if (setuid(player_ptr->player_euid) != 0) { - quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!")); + if (auto ret = setuid(player_ptr->player_euid); ret != 0) { + auto msg = _("setuid(): 正しく許可が取れません! エラーコード:%d", "setuid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } - if (setgid(player_ptr->player_egid) != 0) { - quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!")); + if (auto ret = setgid(player_ptr->player_egid); ret != 0) { + auto msg = _("setgid(): 正しく許可が取れません! エラーコード:%d", "setgid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } #else (void)player_ptr; - if (setreuid(geteuid(), getuid()) != 0) { - quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!")); + if (auto ret = setreuid(geteuid(), getuid()); ret != 0) { + auto msg = _("setreuid(): 正しく許可が取れません! エラーコード:%d", "setreuid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } - if (setregid(getegid(), getgid()) != 0) { - quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!")); + if (auto ret = setregid(getegid(), getgid()); ret != 0) { + auto msg = _("setregid(): 正しく許可が取れません! エラーコード:%d", "setregid(): cannot set permissions correctly! Error code: %d"); + quit(format(msg, ret)); } #endif #else