Coverity: ast module uninitialized members fixed 43/18243/5
Dhruv Khattar [Tue, 14 Jun 2016 11:05:23 +0000 (16:05 +0530)]
Change-Id: Iffa2ca9a3b488a363473bdcf0fa80b76c3d792d2

12 files changed:
scilab/modules/ast/includes/analysis/ConstantVisitor.hxx
scilab/modules/ast/includes/analysis/ForList.hxx
scilab/modules/ast/includes/analysis/Result.hxx
scilab/modules/ast/includes/ast/printvisitor.hxx
scilab/modules/ast/includes/ast/scilabexception.hxx
scilab/modules/ast/includes/ast/serializervisitor.hxx
scilab/modules/ast/includes/exps/ast.hxx
scilab/modules/ast/includes/types/callable.hxx
scilab/modules/ast/includes/types/function.hxx
scilab/modules/ast/includes/types/gatewaystruct.hxx
scilab/modules/ast/includes/types/pointer.hxx
scilab/modules/ast/src/cpp/types/implicitlist.cpp

index a179e57..3f1028a 100644 (file)
@@ -45,12 +45,12 @@ class EXTERN_AST ConstantVisitor : public ast::Visitor, public Chrono
 
 public:
 
-    ConstantVisitor(AnalysisVisitor & _parent) : _result(false), parent(&_parent), lhs(1), evalSymbols(true)
+    ConstantVisitor(AnalysisVisitor & _parent) : _result(false), parent(&_parent), exec(), lhs(1), evalSymbols(true)
     {
         start_chrono();
     }
 
-    ConstantVisitor(const bool _evalSymbols = true) : _result(false), parent(nullptr), evalSymbols(_evalSymbols)
+    ConstantVisitor(const bool _evalSymbols = true) : _result(false), parent(nullptr), exec(), lhs(1), evalSymbols(_evalSymbols)
     {
         start_chrono();
     }
index 742656d..f4224e0 100644 (file)
@@ -40,7 +40,7 @@ class ForList
 
 public:
 
-    ForList() : constant(false), read_in_loop(false) { }
+    ForList() : constant(false), read_in_loop(false), min(0), step(0), max(0), _int(false), _unsigned(false) { }
 
     ForList(const double m, const double s, const double M) : constant(true), read_in_loop(false), min(m), step(s), max(M)
     {
index ae00b32..a684282 100644 (file)
@@ -46,9 +46,9 @@ private:
 
 public:
 
-    Result() : type(), tempId(-1), functionId(0) { }
-    Result(const TIType & _type, const int _tempId = -1, const uint64_t _functionId = 0) : type(_type), tempId(_tempId), functionId(_functionId) { }
-    Result(TIType && _type, const int _tempId = -1, const uint64_t _functionId = 0) : type(_type), tempId(_tempId), functionId(_functionId) { }
+    Result() : type(), tempId(-1), functionId(0), fnname(DUNNO), constant(), range(), maxIndex() { }
+    Result(const TIType & _type, const int _tempId = -1, const uint64_t _functionId = 0) : type(_type), tempId(_tempId), functionId(_functionId), fnname(DUNNO), constant(), range(), maxIndex() { }
+    Result(TIType && _type, const int _tempId = -1, const uint64_t _functionId = 0) : type(_type), tempId(_tempId), functionId(_functionId), fnname(DUNNO), constant(), range(), maxIndex() { }
 
     inline bool istemp() const
     {
index f0fb004..a06f5c6 100644 (file)
@@ -35,7 +35,9 @@ public:
         force_parenthesis (parenthesis_display),
         displayOriginal(_displayOriginal),
         headerOnly(_headerOnly),
-        indent(0) { }
+        indent(0),
+        is_last_matrix_line(false),
+        is_last_column_comment(false) { }
 
     PrintVisitor* clone()
     {
index 9b66c25..7b6aa6d 100644 (file)
@@ -46,7 +46,7 @@ enum ExceptionType
 class ScilabException : public std::exception
 {
 public :
-    ScilabException() {}
+    ScilabException() : m_wstErrorMessage(), m_iErrorNumber(0), m_ErrorLocation(), m_type(TYPE_ERROR) {}
 
     ScilabException(const std::wstring& _wstErrorMesssage)
     {
index a0047dc..017b838 100644 (file)
@@ -607,7 +607,7 @@ private :
     }
 
 public :
-    SerializeVisitor(Exp* _ast) : ast(_ast), buf(NULL), buflen(0), bufsize(0), saveNodeNumber(true) {}
+    SerializeVisitor(Exp* _ast) : ast(_ast), buf(NULL), buflen(0), bufsize(0), saveNodeNumber(true), saveLocation(true) {}
 
     SerializeVisitor* clone()
     {
index 3dac71e..df20dbc 100644 (file)
@@ -36,7 +36,7 @@ class Ast
 public:
     /** \brief Construct an Ast node.
     ** \param location scanner position informations */
-    Ast (const Location& location) : decorator(), coverId(0), _location (location)
+    Ast (const Location& location) : decorator(), coverId(0), _location (location), m_dblElapsedTime(0)
     {
         nodeNumber = globalNodeNumber++;
     }
index 1708e3d..3cdbfd5 100644 (file)
@@ -42,6 +42,7 @@ public :
     Callable(): InternalType()
     {
         m_iFirstLine = 0;
+        m_iLastLine = 0;
     }
     virtual             ~Callable() {}
 
index edea020..b72ef50 100644 (file)
@@ -53,7 +53,11 @@ public :
     typedef ReturnValue (*GW_FUNC)(typed_list &in, int _iRetCount, typed_list &out);
     typedef ReturnValue (*GW_FUNC_OPT)(typed_list &in, optional_list &opt, int _iRetCount, typed_list &out);
 
-    Function() : Callable() {};
+    Function() : Callable() 
+    {
+        m_pFunc = nullptr;
+        m_pLoadDeps = nullptr;
+    };
     Function(const std::wstring& _wstName, GW_FUNC _pFunc, LOAD_DEPS _pLoadDeps, const std::wstring& _wstModule);
     ~Function();
 
index 51d5986..5add965 100644 (file)
@@ -37,7 +37,7 @@ public :
     const char*             m_pstName;
     int*                    m_pOutOrder;
 
-    GatewayStruct() {};
+    GatewayStruct(): m_pIn(nullptr), m_pOpt(nullptr), m_pOut(nullptr), m_iIn(0), m_iOut(0), m_piRetCount(nullptr), m_pOutOrder(nullptr) {};
     ~GatewayStruct() {};
 };
 
@@ -47,4 +47,4 @@ struct EXTERN_AST GatewayCStruct
     std::wstring    lasterror;
 };
 }
-#endif /* !__GATEWAYSTRUCT_HXX__ */
\ No newline at end of file
+#endif /* !__GATEWAYSTRUCT_HXX__ */
index 1aa5f71..ef1f68b 100644 (file)
@@ -26,11 +26,13 @@ public:
     Pointer()
     {
         m_pvData = NULL;
+        m_cplx = false;
     }
 
     Pointer(void* _pvData)
     {
         m_pvData = _pvData;
+        m_cplx = false;
     }
 
     Pointer(int _rows, int _cols, void* _pvData, bool _complex = false)
index eaf6695..d16949e 100644 (file)
@@ -83,6 +83,9 @@ ImplicitList::ImplicitList()
     m_pDblStart = NULL;
     m_pDblStep  = NULL;
     m_pDblEnd   = NULL;
+    m_eStartType = ScilabNull;
+    m_eStepType = ScilabNull;
+    m_eEndType = ScilabNull;
 
 #ifndef NDEBUG
     Inspector::addItem(this);