[smuxi] Engine(-Tests): fixed NRE thrown in MessageDtoModelV1.ToMessage()



commit 10352366a4373c9818ff90918198b9d0f648de05
Author: Mirco Bauer <meebey meebey net>
Date:   Sun Jul 6 19:28:16 2014 +0200

    Engine(-Tests): fixed NRE thrown in MessageDtoModelV1.ToMessage()
    
    If for whatever reason the deserialization of a message fails and thus the class
    fields are never initialized to non-null values then ToMessage() will throw a
    NRE.

 src/Engine-Tests/MessageDtoModelV1Tests.cs   |    8 ++++++++
 src/Engine/Messages/Dto/MessageDtoModelV1.cs |    1 +
 2 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/src/Engine-Tests/MessageDtoModelV1Tests.cs b/src/Engine-Tests/MessageDtoModelV1Tests.cs
index 912a851..e1aab9b 100644
--- a/src/Engine-Tests/MessageDtoModelV1Tests.cs
+++ b/src/Engine-Tests/MessageDtoModelV1Tests.cs
@@ -93,6 +93,14 @@ namespace Smuxi.Engine
         }
 
         [Test]
+        public void ToMessageNreBug()
+        {
+            var dtoMsg = new MessageDtoModelV1();
+            var msg = dtoMsg.ToMessage();
+            Assert.True(msg.IsEmpty);
+        }
+
+        [Test]
         public void ToMessageBenchmark()
         {
             int runs = 50000;
diff --git a/src/Engine/Messages/Dto/MessageDtoModelV1.cs b/src/Engine/Messages/Dto/MessageDtoModelV1.cs
index 0c77441..0a49ccf 100644
--- a/src/Engine/Messages/Dto/MessageDtoModelV1.cs
+++ b/src/Engine/Messages/Dto/MessageDtoModelV1.cs
@@ -30,6 +30,7 @@ namespace Smuxi.Engine.Dto
 
         public MessageDtoModelV1()
         {
+            MessageParts = new List<MessagePartDtoModelV1>();
         }
 
         public MessageDtoModelV1(MessageModel msg)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]