diff --git a/source/renaissance/server/users.d b/source/renaissance/server/users.d index 3c904fd..e88403c 100644 --- a/source/renaissance/server/users.d +++ b/source/renaissance/server/users.d @@ -252,17 +252,26 @@ public class AuthManager // NOTE: Don't try de-allocate it, smart ass public User* getUser(string username) { - User* foundUser; - // Lock this.usersLock.lock(); - foundUser = *(username in this.users); + // On exit + scope(exit) + { + // Unlock + this.usersLock.unlock(); + } - // Unlock - this.usersLock.unlock(); - - return foundUser; + // Check if such a user exists + User** potentialUserPtrPtr = username in this.users; + if(potentialUserPtrPtr == null) + { + return null; + } + else + { + return *potentialUserPtrPtr; + } } private void addUser(string username)