Преглед изворни кода

Fix to null exception in request credentials

Kenric Nugteren пре 2 година
родитељ
комит
ca72df591e

+ 2 - 2
InABox.Core/Client/Request.cs

@@ -9,9 +9,9 @@ namespace InABox.Clients
     public class Credentials
     {
         [Obsolete]
-        public string UserID { get; set; }
+        public string? UserID { get; set; }
         [Obsolete]
-        public string Password { get; set; }
+        public string? Password { get; set; }
 
         public string Platform { get; set; }
         public string Version { get; set; }

+ 4 - 1
InABox.Core/DataTable.cs

@@ -791,8 +791,11 @@ namespace InABox.Core
             writer.WriteEndObject();
         }
 
-        public override object ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
+        public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
         {
+            if (reader.TokenType == JsonToken.Null)
+                return null;
+
             var result = new CoreTable();
             try
             {

+ 1 - 1
InABox.DynamicGrid/DynamicEditorForm.xaml.cs

@@ -441,7 +441,7 @@ namespace InABox.DynamicGrid
 
         private void OKButton_Click(object sender, RoutedEventArgs e)
         {
-            var errors = OnValidateData != null ? OnValidateData.Invoke(this, Items) : null;
+            var errors = OnValidateData?.Invoke(this, Items);
 
             if (errors != null && errors.Any())
             {

+ 3 - 1
InABox.Server/RestService.cs

@@ -41,7 +41,9 @@ namespace InABox.API
                 }
                 return valid;
             }
-            else if(CredentialsCache.IsBypassed(request.Credentials.UserID, request.Credentials.Password))
+            else if(request.Credentials.UserID is not null
+                && request.Credentials.Password is not null
+                && CredentialsCache.IsBypassed(request.Credentials.UserID, request.Credentials.Password))
             {
                 userID = "";
                 return CoreUtils.FullGuid;