libtt: Coverity fixes related to uninitialised fields in classes.
authorPeter Howkins <flibble@users.sf.net>
Wed, 18 Apr 2018 00:28:03 +0000 (01:28 +0100)
committerPeter Howkins <flibble@users.sf.net>
Wed, 18 Apr 2018 00:28:03 +0000 (01:28 +0100)
30 files changed:
cde/lib/tt/bin/shell/copier.C
cde/lib/tt/bin/shell/mover.C
cde/lib/tt/bin/ttdbserverd/db_server_functions.C
cde/lib/tt/bin/ttdbserverd/dm_access_cache.h
cde/lib/tt/bin/ttdbserverd/tt_db_message_info.h
cde/lib/tt/bin/ttdbserverd/tt_isam_file.C
cde/lib/tt/bin/ttdbserverd/tt_isam_file.h
cde/lib/tt/bin/ttdbserverd/tt_isam_key_descriptor.C
cde/lib/tt/bin/ttdbserverd/tt_isam_record.h
cde/lib/tt/bin/tttrace/tttrace_objs.C
cde/lib/tt/lib/api/c/api_storage.h
cde/lib/tt/lib/api/c/api_typecb.C
cde/lib/tt/lib/db/tt_client_isam_file.C
cde/lib/tt/lib/db/tt_client_isam_file.h
cde/lib/tt/lib/db/tt_db_client.C
cde/lib/tt/lib/db/tt_db_file.C
cde/lib/tt/lib/db/tt_old_db.C
cde/lib/tt/lib/db/tt_old_db_message_info.C
cde/lib/tt/lib/mp/mp_file.C
cde/lib/tt/lib/mp/mp_rpc_client.C
cde/lib/tt/lib/mp/mp_session.C
cde/lib/tt/lib/mp/mp_stream_socket.C
cde/lib/tt/lib/util/tt_file_system_entry_utils.C
cde/lib/tt/lib/util/tt_host_equiv.C
cde/lib/tt/lib/util/tt_int_rec.C
cde/lib/tt/slib/mp_observer.C
cde/lib/tt/slib/mp_rpc_server.h
cde/lib/tt/slib/mp_s_message.C
cde/lib/tt/slib/mp_s_mp.C
cde/lib/tt/slib/mp_s_procid.C

index e7eb27cf32dd4470e4d6986efafa3ff1b887e1c0..aaff3579167ec6bac4623123601a29a1c0d0829b 100644 (file)
@@ -75,6 +75,7 @@ copier( char *arg0 )
        _preserve = FALSE;
        _clonedir_mode = FALSE;
        _tt_opened = FALSE;
+       _to_path_is_dir = 0;
 }
 
 copier::
index 79e9cdd3c6376af1fd40f107d2d74aec7b185a42..dc659a89767f01cc1038251cab8a3575718e5356 100644 (file)
@@ -83,6 +83,7 @@ mover( char *arg0 )
        _should_mv = TRUE;
        _force = FALSE;
        _tt_opened = FALSE;
+       _to_path_is_dir = FALSE;
 }
 
 mover::
index 2264eb6e9cb212f2f86d9cf98290251b6adcbad4..46c67f8875ee48463404a6841a57e3d2abd56327 100644 (file)
@@ -1857,7 +1857,7 @@ printf("DEBUG: SERVER: _tt_file_netfile_1: _tt_file_netfile(%s) returned %s\n",
 
        if (_tt_pointer_error(canonical_path) != TT_OK) {
                results.results = TT_DB_ERR_ILLEGAL_FILE;
-               results.result_string = '\0';
+               results.result_string = NULL;
        } else {
                results.results = TT_DB_OK;
                results.result_string = canonical_path;
@@ -1897,7 +1897,7 @@ printf("DEBUG: SERVER: _tt_netfile_file_1: _tt_netfile_file(%s) returned %s\n",
 
        if (_tt_pointer_error(canonical_path) != TT_OK) {
                results.results = TT_DB_ERR_ILLEGAL_FILE;
-               results.result_string = '\0';
+               results.result_string = NULL;
        } else {
                results.results = TT_DB_OK;
                results.result_string = canonical_path;
index 2a8e435a54d3dcc62e477b8a6c8703bd492a7a50..f001bef56017a649a563f38d055bc3cbb34fe007 100644 (file)
@@ -56,7 +56,7 @@
 
 class _Tt_oid_access : public _Tt_object {
       public:
-       _Tt_oid_access() {}
+       _Tt_oid_access() { _user = 0; _group = 0; _mode = 0; }
        _Tt_oid_access(const char *key, uid_t user, gid_t group, mode_t mode);
        _Tt_oid_access(char *ku);
        ~_Tt_oid_access();
@@ -126,7 +126,7 @@ declare_ptr_to(_Tt_oid_access_queue)
 
 class _Tt_link_access : public _Tt_object {
       public:
-       _Tt_link_access() {}
+       _Tt_link_access() { _user = 0; _group = 0; _mode = 0; }
        _Tt_link_access(const char *key, uid_t user, gid_t group, mode_t mode);
        _Tt_link_access(char *ku);
        ~_Tt_link_access();
index 9cc5aed544e11e7a794ad5cc5a168c00ebd1b236..91f90a7c41e0e279a46fcc51fbacc1dbe1c3d6b9 100644 (file)
@@ -44,7 +44,7 @@
 
 class _Tt_db_message_info : public _Tt_object {
 public:
-  _Tt_db_message_info () {}
+  _Tt_db_message_info () { messageID = 0; numParts = 0; messageSize = 0; }
   ~_Tt_db_message_info () {}
 
   int                 messageID;
index 980ca6b31c6b57ffbbe311803007c97ab596a860..fde49aa1e65a72f48c2430340c0cfca2c0c9dc27 100644 (file)
@@ -52,6 +52,9 @@ _Tt_isam_file::_Tt_isam_file (const _Tt_string &file, int mode)
   else {
     getStatusInfo();
   }
+
+  maxRecordLength = 0;
+  minRecordLength = 0;
 }
 
 _Tt_isam_file
@@ -82,7 +85,7 @@ _Tt_isam_file
     currentRecordLength = -1;
     currentRecordNumber = -1;
   }
-  
+
   maxRecordLength = 0;
   minRecordLength = 0;
 }
index 4e9c16ea611a3ba075a10fe8d4610aeb77dcc5f8..d064e1bc1bce554c014b59734faea16c41d76381 100644 (file)
@@ -45,7 +45,8 @@ typedef int (*FatalErrorHandlerFunction) (char *);
 class _Tt_isam_file : public _Tt_object {
 public:
   // Dummy constructor needed to make _tt_isam_file_utils.cc happy
-  _Tt_isam_file () {}
+  _Tt_isam_file () { currentRecordLength = 0; currentRecordNumber = 0; eraseFlag = 0; errorStatus = 0;
+                     fileDescriptor = 0; fileMode = 0; maxRecordLength = 0; minRecordLength = 0; newFlag = 0; }
 
   // Real constructors
   _Tt_isam_file (const _Tt_string &file, int mode);
index bb53600a0703e7b499e4c10c4200a668701cc44d..f30119ac94c54289baa22df2f179b407f9220735 100644 (file)
@@ -40,6 +40,12 @@ _Tt_isam_key_descriptor::_Tt_isam_key_descriptor ()
 {
   keyDescriptor.k_flags = 0;
   keyDescriptor.k_nparts = 0;
+  
+  for(int i = 0; i < NPARTS; i++) {
+    keyDescriptor.k_part[i].kp_start = -1;
+    keyDescriptor.k_part[i].kp_leng = -1;
+    keyDescriptor.k_part[i].kp_type = -1;
+  }
 }
 
 _Tt_isam_key_descriptor::~_Tt_isam_key_descriptor ()
index d0d69bb43cae1e99846ac9eeff1009d1df6f5c02..5fea9d59c5160e93d6ec68e47ffb575ca212766c 100644 (file)
@@ -43,7 +43,7 @@
 class _Tt_isam_record : public _Tt_object {
 public:
   // Dummy constructor needed to make tt_isam_record_utils.cc happy
-  _Tt_isam_record () {}
+  _Tt_isam_record () { currentLength = 0; maxLength = 0; minLength = 0; }
 
   // Real constructor
   _Tt_isam_record (const _Tt_isam_key_descriptor_list_ptr &key_descriptor_list,
index 526ab725c58535e217523a4022954b8a07ffd372..4c2a85648ffc4e7658089371f4351f37644776a5 100644 (file)
@@ -53,6 +53,9 @@ _Tt_trace_optobj::_Tt_trace_optobj()
        _has_session = 2;               // 1 -> -S option, 2 -> set by default
        _has_command = 0;
        _form = NO_FORM;
+       for(int i = 0; i < MAXARGS; i++) {
+               _cargv[i] = NULL;
+       }
 }
 
 int
index 88e222d20f78c72893eaaf785fecbecfa08e9b2f..1718127f6217c556337735173c5107f376b8c31f 100644 (file)
@@ -45,7 +45,7 @@ declare_ptr_to(_Tt_api_stg_stack)
 
 class _Tt_api_stg_stack_elm : public _Tt_object {
       public:
-       _Tt_api_stg_stack_elm() {};
+       _Tt_api_stg_stack_elm() { addr = NULL; };
        ~_Tt_api_stg_stack_elm();
        enum {STACK_MARK, STACK_STORAGE}        entry_type;
        caddr_t                                 addr;
index d9a053109fa7040e175a529462853d11432d4f77..441b68bfd31d8d8f5a61aca0063e6abe7f81f8d3 100644 (file)
@@ -44,6 +44,7 @@ _Tt_typecb::
 _Tt_typecb()
 {
        clientdata = 0;
+       _opnum = 0;
 }
 
 _Tt_typecb::
index 156b1026f0a57fc652b360deadd0dabcc71da2c4..c11fab739f89878985f989b1e074af7b8be5c23e 100644 (file)
@@ -89,6 +89,8 @@ _Tt_client_isam_file
     currentRecordLength = -1;
     currentRecordNumber = -1;
   }
+  maxRecordLength = 0;
+  minRecordLength = 0;
 }
 
 void _Tt_client_isam_file::setTtISAMFileDefaults ()
index f3bece3e1fb4d57530048fc30829349ff5981f08..0427328762fa86f57416c327a9ad93668a1449e6 100644 (file)
@@ -44,7 +44,8 @@
 class _Tt_client_isam_file : public _Tt_object {
 public:
   // Dummy constructor needed to make _tt_client_isam_file_utils.cc happy
-  _Tt_client_isam_file () {}
+  _Tt_client_isam_file () { currentRecordLength = 0; currentRecordNumber = 0; eraseFlag = 0; errorStatus = 0;
+                            fileDescriptor = 0; fileMode = 0; maxRecordLength = 0; minRecordLength = 0; newFlag = 0; }
 
   // Real constructors
   _Tt_client_isam_file (const _Tt_string        &file,
index 808c5cfbb0c89038831fc210092b38fc9d005696..c29244404e8b1985189c2d7722079e7b4c92f2f7 100644 (file)
@@ -84,6 +84,13 @@ _Tt_db_client::_Tt_db_client()
 
   setTtDBDefaults();
   connectToDB(db_hostname);
+  iserrno = 0;
+  isrecnum = 0;
+  isreclen = 0;
+#if !defined(OPT_TLI)
+  dbSocket.sin_family = 0;
+  dbSocket.sin_port = 0;
+#endif
 }
 
 _Tt_db_client::_Tt_db_client (_Tt_db_results & status)
index 4af667c78b51cf89c771111e179a891765b82ed7..0aa5891cb90d9d1bf8d8523cd107055d603e23e7 100644 (file)
@@ -63,6 +63,11 @@ _Tt_db_file::_Tt_db_file (const _Tt_string &file)
     _Tt_db_access_ptr access;
     dbResults = setTtDBFileDefaults(file, properties, access);
   }
+
+  checkedDatabase = FALSE;
+  directoryFlag = FALSE;
+  dbFileObjectsCacheLevel = -1;
+  dbFilePropertiesCacheLevel = -1;
 }
 
 _Tt_db_file::_Tt_db_file (const _Tt_string               &file,
@@ -75,6 +80,11 @@ _Tt_db_file::_Tt_db_file (const _Tt_string               &file,
   else {
     dbResults = setTtDBFileDefaults(file, properties, access);
   }
+  
+  checkedDatabase = 0;
+  directoryFlag = 0;
+  dbFileObjectsCacheLevel = -1;
+  dbFilePropertiesCacheLevel = -1;
 }
 
 _Tt_db_results
index ed39c90aa4400867daf0970d11b7b97922aca00d..0955384326b9e24d759b1b10b8a916a0c7c20674 100644 (file)
@@ -50,7 +50,9 @@
 _Tt_old_db::
 _Tt_old_db()
 {
-}      
+  propertyTableFD = 0;
+  dbResults = NULL;
+}
 
 _Tt_old_db::_Tt_old_db (const _Tt_string        &partition,
                        const _Tt_db_client_ptr &db_conn)
index c128fd25b0c41cd6af57af924a42b3c2ca8a84ad..23ef8b6f7715fa5d47bf43bfcac82b822d361e6f 100644 (file)
@@ -37,6 +37,9 @@
 _Tt_old_db_message_info::
 _Tt_old_db_message_info ()
 {
+       messageID = 0;
+       numParts = 0;
+       messageSize = 0;
 }
 
 _Tt_old_db_message_info::
index 60a92726b28612d6f8feb59d5cd74ca3a0ecb12c..a186c7840cad73065ec873473b0fe96d80f65a20 100644 (file)
@@ -49,6 +49,11 @@ _Tt_qmsg_info::_Tt_qmsg_info()
        categories = new _Tt_int_rec_list;
        ptypes = new _Tt_string_list;
        version = TT_QMSG_INFO_VERSION;
+       
+       id = 0;
+       nparts = 0;
+       size = 0;
+       m_id = 0;
 }
 
 _Tt_qmsg_info::~_Tt_qmsg_info()
index 82697ec00a32e64304828bd514de914fd6ccf7cc..634832a1285a15f1c1d2a85a032fc866fbcb39d8 100644 (file)
@@ -88,6 +88,12 @@ _Tt_rpc_client(int conn_socket)
 {
        _socket = conn_socket;
        _client = (CLIENT *)0;
+       _program = 0;
+       _version = 0;
+       _server_uid = 0;
+       _clnt_stat = NULL;
+       _server_addr.sin_family = 0;
+       _server_addr.sin_port = 0;
 }
 
 
index 73bbe185a82eaf6496a0c3f7ed7b26c16b3c3be2..e584b0e6032f90f1f5e91cff3b2cbd5836a928f8 100644 (file)
@@ -66,6 +66,10 @@ _Tt_session()
        _is_server = 0;         // default server mode
        _is_dead = 0;
        _rpc_version = 0;
+       _pid = 0;
+       _rpc_program = 0;
+       _server_num = 0;
+       _server_uid = 0;
 }
 
 
index f92215ffe6da5584890550ea57cd9884b6b95478..8d08a0de94307f82793caa589d3e78809068b6d7 100644 (file)
@@ -83,6 +83,11 @@ char *t_strerror(int t_errno)
 _Tt_stream_socket::
 _Tt_stream_socket()
 {
+       _is_source = 0;
+       _msgsock = -1;
+       _sock = -1;
+       _hostaddr.sin_port = 0;
+       _hostaddr.sin_family = 0;
 }
 
 _Tt_stream_socket::
@@ -94,6 +99,8 @@ _Tt_stream_socket(_Tt_host_ptr &host, int portnum)
         _hostaddr.sin_addr.s_addr = htonl(INADDR_ANY);
        _hostaddr.sin_port = htons(portnum);
        _hostaddr.sin_family = AF_INET;
+       _is_source = 0;
+       _sock = -1;
 }
 
 
index 0311fe23d32eb84d0fbc49954f73fe218d8d72b2..7b4eb217d4219e1786d7019a6fb22d8d27a3e752 100644 (file)
@@ -42,6 +42,8 @@ implement_list_of(_Tt_file_system_entry)
 _Tt_file_system_entry::
 _Tt_file_system_entry ()
 {
+       localFlag = 0;
+       loopBackFlag = 0;
 }
 
 _Tt_file_system_entry::
index 978a92d4d9e827cffde87b2dc9457ffea3c4ef3b..60e851b0b9abf0c166bcef8ed5c4236756cd7f6e 100644 (file)
@@ -53,6 +53,7 @@ _Tt_hostname_cache::
 _Tt_hostname_cache()
 {
        hostname = (_Tt_string) 0;
+       addr_length = 0;
 }
 
 _Tt_hostname_cache::
index 56fc930c75c010f12cb4b78aee2f958cf539abb4..58cfa44d15e7d4a85803f4f13bacecc10fa986df 100644 (file)
@@ -76,6 +76,7 @@ implement_list_of(_Tt_int_rec)
 _Tt_pid_t_rec::
 _Tt_pid_t_rec()
 {
+       val = 0;
 }
 
 
index 1e58a7b834f78d75e51c0dbd51a4a492b2c03754..34f5f2f15cfff760da6b4214879f1262d167ddb6 100644 (file)
@@ -48,6 +48,9 @@ _Tt_observer()
        _ptid = (char *)0;
        _reliability = TT_DISCARD;
        _opnum = -1;
+
+       _scope = NULL;
+       _state = TT_STATE_LAST; // BUG This class member is not set anywhere, but a getter function exists
 }
 
 
@@ -59,7 +62,7 @@ _Tt_observer(_Tt_string ptid, int opnum,
        _reliability = reliability;
        _opnum = opnum;
        _scope = s;
-       
+
        _state = TT_STATE_LAST; // BUG This class member is not set anywhere, but a getter function exists
 }
 
index aeba0e3838a00fe2b47dfcd84d5ff21f92d05578..85bfa636a108a0ba8e1c38cc95048abb33144d25 100644 (file)
@@ -43,7 +43,7 @@
 
 class _Tt_rpc_server : public _Tt_object {
       public:
-       _Tt_rpc_server() {};
+       _Tt_rpc_server() { _version = 0; _socket = 0; _program = 0; _rpc_fd = 0; _transp = NULL; };
        _Tt_rpc_server(int program, int version, int Rsocket, _Tt_auth &auth);
        virtual ~_Tt_rpc_server();
        int                     init(void (*service_fn)(svc_req *, SVCXPRT *));
index cbe6afb9ffd92ae85435d7d7688ecbaadcc8681e..fe9a610d0c64a2def5bc2f271d8fe9cb8adb0f55 100644 (file)
@@ -160,6 +160,7 @@ _Tt_s_message(_Tt_s_message *m, _Tt_observer_ptr &o)
        _rsessions      = m->_rsessions;
        _when_last_matched = m->_when_last_matched;
        _original       = m;
+       _num_recipients_yet_to_vote = 0;
 }
 
 // 
index c3deefcd9d0330f9798a7797229ed5e0b5c2fdcc..7a772e3054825026ca1fc0d67dab8b77ab4c34b4 100644 (file)
@@ -94,6 +94,11 @@ _Tt_s_mp() : _Tt_mp()
        when_last_observer_registered = 1;
        update_args.message = new _Tt_s_message();
        _self = (_Tt_s_procid *)new _Tt_self_procid();
+
+       map_ptypes = 0;
+       unix_cred_chk_flag = 0;
+       garbage_collector_pid = 0;
+       _next_garbage_run = 0;
 }
 
 
index 96a1522b72bd8aa1de851d0492e83af3410c6b86..fb54cb0e5339608ededf975bcd4c3ecefc2d74c3 100644 (file)
@@ -66,7 +66,7 @@ _Tt_s_procid(const _Tt_s_procid_ptr &p)
        _proc_host_ipaddr = p->_proc_host_ipaddr;
        _pid = p->_pid;
        _id = p->_id;
-
+       _itimeout = -1;
 }
 
 _Tt_s_procid::