set_player_object(): keine Pfadersetzung
Der Pfad zur Shell wird nicht mehr durch _get_path
gefiltert, was im wesentlichen Ersetzung von
+, P_CURRENTDIR etc. machte, was hier voellig
unwirksam und eh unerwuenscht ist.
Change-Id: I752cd60d10569418e22baf636c7aabbe1fd8af14
diff --git a/secure/master/userinfo.c b/secure/master/userinfo.c
index af2bce8..53ba4b0 100644
--- a/secure/master/userinfo.c
+++ b/secure/master/userinfo.c
@@ -720,7 +720,6 @@
// Aendert die Shells eines Users.
int set_player_object( string user, string objectname )
{
- mixed *path;
string prev;
// nur EM und ROOT duerfen die Shell eines Charakters aendern
@@ -749,10 +748,7 @@
return -2;
}
- objectname = _get_path( objectname, 0 );
- path = (efun::explode( objectname, "/" ) - ({ "", 0 }));
-
- if ( sizeof(path) < 3 || path[0] != "std" || path[1] != "shells" )
+ if (strstr(object_name, "/std/shells/") != 0)
return -3;
if ( !find_userinfo(user) )