[IOT-2414]Segment faults in RemoteSceneList.
authorabitha.s <abitha.s@samsung.com>
Tue, 27 Jun 2017 13:50:58 +0000 (19:20 +0530)
committerUze Choi <uzchoi@samsung.com>
Mon, 3 Jul 2017 08:00:40 +0000 (08:00 +0000)
Access to pointers are addressed by adding checks to ensure Segmentation fault errors

Change-Id: I024455adbf7d9f6fd887059a7361557e4907598d
Signed-off-by: abitha.s <abitha.s@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/21047
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
service/scene-manager/src/RemoteSceneList.cpp

index f9103e3..a226d6b 100755 (executable)
@@ -83,7 +83,14 @@ namespace OIC
                 std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
                 std::placeholders::_4, std::move(clientCB));
 
-            m_requestor->requestSceneCollectionCreation("", internalCB);
+            if(nullptr != m_requestor)
+            {
+                m_requestor->requestSceneCollectionCreation("", internalCB);
+            }
+            else
+            {
+                throw RCSInvalidParameterException{ "addNewSceneCollection : m_requestor is NULL" };
+            }
         }
 
         std::vector< RemoteSceneCollection::Ptr >
@@ -104,7 +111,14 @@ namespace OIC
                 = std::bind(&RemoteSceneList::onNameSet, this,
                 std::placeholders::_1, name, std::move(clientCB));
 
-            m_requestor->requestSetName(name, internalCB);
+            if(nullptr != m_requestor)
+            {
+                m_requestor->requestSetName(name, internalCB);
+            }
+            else
+            {
+                throw RCSInvalidParameterException{ "setName : m_requestor is NULL" };
+            }
         }
 
         std::string RemoteSceneList::getName() const
@@ -278,4 +292,4 @@ namespace OIC
         }
 
     }
-}
\ No newline at end of file
+}