mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
Replace 'sete_id(__)' calls by 'setre_id(-1,__)' to solve the
missing prototyped problem (bug#5521). sql/mysqld.cc: Some systems (Unixware, SCO) have no prototypes for 'seteuid()' and 'setegid()', but have them for 'setreuid()' / 'setregid()'. So 'sete_id(__)' calls are replaced by 'setre_id(-1,__)' (bug#5521).
This commit is contained in:
parent
4e639af733
commit
8f8ccc4bd5
1 changed files with 6 additions and 6 deletions
|
@ -1126,14 +1126,14 @@ static void set_effective_user(struct passwd *user_info)
|
|||
{
|
||||
#if !defined(__WIN__) && !defined(OS2) && !defined(__NETWARE__)
|
||||
DBUG_ASSERT(user_info);
|
||||
if (setegid(user_info->pw_gid) == -1)
|
||||
if (setregid((gid_t)-1, user_info->pw_gid) == -1)
|
||||
{
|
||||
sql_perror("setegid");
|
||||
sql_perror("setregid");
|
||||
unireg_abort(1);
|
||||
}
|
||||
if (seteuid(user_info->pw_uid) == -1)
|
||||
if (setreuid((uid_t)-1, user_info->pw_uid) == -1)
|
||||
{
|
||||
sql_perror("seteuid");
|
||||
sql_perror("setreuid");
|
||||
unireg_abort(1);
|
||||
}
|
||||
#endif
|
||||
|
@ -2657,9 +2657,9 @@ server.");
|
|||
#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && !defined(EMBEDDED_LIBRARY)
|
||||
if (locked_in_memory && !getuid())
|
||||
{
|
||||
if (seteuid(0) == -1)
|
||||
if (setreuid((uid_t)-1, 0) == -1)
|
||||
{ // this should never happen
|
||||
sql_perror("seteuid");
|
||||
sql_perror("setreuid");
|
||||
unireg_abort(1);
|
||||
}
|
||||
if (mlockall(MCL_CURRENT))
|
||||
|
|
Loading…
Reference in a new issue