*/
void player_wipe_without_name(PlayerType *player_ptr)
{
-#ifdef SET_UID
- int uid = player_ptr->player_uid;
-#endif
auto tmp = *player_ptr;
if (player_ptr->last_message)
string_free(player_ptr->last_message);
memcpy(player_ptr->name, tmp.name, sizeof(tmp.name));
#ifdef SET_UID
- player_ptr->player_uid = uid;
+ player_ptr->player_uid = tmp.player_uid;
+#ifdef SAFE_SETUID
+#ifdef SAFE_SETUID_POSIX
+ player_ptr->player_euid = tmp.player_euid;
+ player_ptr->player_egid = tmp.player_egid;
+#endif
+#endif
#endif
}
#include "io/uid-checker.h"
#include "system/player-type-definition.h"
-#ifdef SET_UID
-#ifdef SAFE_SETUID
-#ifdef SAFE_SETUID_POSIX
-#include "util.h"
-#endif
-#endif
-#endif
/*!
* @brief ファイルのドロップパーミッションチェック / Hack -- drop permissions
#ifdef SAFE_SETUID
#ifdef SAFE_SETUID_POSIX
- if (setuid(player_ptr->player_egid) != 0) {
+ if (setuid(player_ptr->player_euid) != 0) {
quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
}
if (setgid(player_ptr->player_egid) != 0) {