Browse Source

add null checks on session & device creation

Luke Pulverenti 9 years ago
parent
commit
ca100ff2d1

+ 5 - 0
MediaBrowser.Server.Implementations/Devices/DeviceManager.cs

@@ -51,6 +51,11 @@ namespace MediaBrowser.Server.Implementations.Devices
 
 
         public async Task<DeviceInfo> RegisterDevice(string reportedId, string name, string appName, string appVersion, string usedByUserId)
         public async Task<DeviceInfo> RegisterDevice(string reportedId, string name, string appName, string appVersion, string usedByUserId)
         {
         {
+            if (string.IsNullOrWhiteSpace(reportedId))
+            {
+                throw new ArgumentNullException("reportedId");
+            }
+
             var device = GetDevice(reportedId) ?? new DeviceInfo
             var device = GetDevice(reportedId) ?? new DeviceInfo
             {
             {
                 Id = reportedId
                 Id = reportedId

+ 4 - 0
MediaBrowser.Server.Implementations/Session/SessionManager.cs

@@ -404,6 +404,10 @@ namespace MediaBrowser.Server.Implementations.Session
         /// <returns>SessionInfo.</returns>
         /// <returns>SessionInfo.</returns>
         private async Task<SessionInfo> GetSessionInfo(string appName, string appVersion, string deviceId, string deviceName, string remoteEndPoint, User user)
         private async Task<SessionInfo> GetSessionInfo(string appName, string appVersion, string deviceId, string deviceName, string remoteEndPoint, User user)
         {
         {
+            if (string.IsNullOrWhiteSpace(deviceId))
+            {
+                throw new ArgumentNullException("deviceId");
+            }
             var key = GetSessionKey(appName, deviceId);
             var key = GetSessionKey(appName, deviceId);
 
 
             await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
             await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);