libt2n: (tomj) fix uninitialized variable "result_type" in result_container
[libt2n] / src / container.cpp
index c573bbe..0401af8 100644 (file)
@@ -32,17 +32,6 @@ BOOST_CLASS_EXPORT(libt2n::command_container)
 namespace libt2n
 {
 
-template<class Archive>
-void result_container::serialize(Archive & ar, const unsigned int version)
-{
-    // When the class Archive corresponds to an output archive, the
-    // & operator is defined similar to <<.  Likewise, when the class Archive
-    // is a type of input archive the & operator is defined similar to >>.
-
-    ar & BOOST_SERIALIZATION_NVP(result_type);
-    ar & BOOST_SERIALIZATION_NVP(res);
-    ar & BOOST_SERIALIZATION_NVP(ex);
-}
 
 /// deletes the carried result or exception objects
 result_container::~result_container()
@@ -51,6 +40,9 @@ result_container::~result_container()
         delete res;
     if (ex)
         delete ex;
+
+    res = NULL;
+    ex = NULL;
 }
 
 /** @brief returns the result or throw the carried exception.
@@ -60,13 +52,8 @@ result* result_container::get_result(void)
 {
     if (result_type==exception)
         ex->do_throw();
-    return res;
-}
 
-template<class Archive>
-void command_container::serialize(Archive & ar, const unsigned int version)
-{
-    ar & BOOST_SERIALIZATION_NVP(cmd);
+    return res;
 }
 
 /// deletes the carried command
@@ -74,6 +61,8 @@ command_container::~command_container()
 {
     if (cmd)
         delete cmd;
+
+    cmd = NULL;
 }
 
 } // namespace libt2n