libtt: More coverity fixes
authorPeter Howkins <flibble@users.sf.net>
Fri, 13 Apr 2018 18:08:50 +0000 (19:08 +0100)
committerPeter Howkins <flibble@users.sf.net>
Fri, 13 Apr 2018 18:08:50 +0000 (19:08 +0100)
19 files changed:
cde/lib/tt/bin/ttdbserverd/dm_server.C
cde/lib/tt/bin/ttdbserverd/tt_isam_file.C
cde/lib/tt/bin/tttrace/tttrace_objs.C
cde/lib/tt/lib/api/c/api_handle.C
cde/lib/tt/lib/db/tt_client_isam_record.h
cde/lib/tt/lib/db/tt_db_client.C
cde/lib/tt/lib/db/tt_db_file.C
cde/lib/tt/lib/mp/mp_auth.C
cde/lib/tt/lib/mp/mp_desktop.C
cde/lib/tt/lib/mp/mp_procid.C
cde/lib/tt/lib/util/tt_int_rec.C
cde/lib/tt/lib/util/tt_object_table.C
cde/lib/tt/lib/util/tt_trace_parser.C
cde/lib/tt/lib/util/tt_trace_stream.C
cde/lib/tt/lib/util/tt_xdr_utils.C
cde/lib/tt/mini_isam/isrename.c
cde/lib/tt/slib/mp_observer.C
cde/lib/tt/slib/mp_rpc_server.C
cde/lib/tt/slib/mp_signature.C

index 120d0c0a2ee0a44b1d8f4ba0771844b1f536688d..84fb2323362355cc57c5dcb7cdf6c5710216f216 100644 (file)
@@ -1101,7 +1101,7 @@ _tt_isopen_1(_Tt_isopen_args *args, SVCXPRT * /* transp */)
 
 
        memcpy(_tt_log_file, (char *)db_path, prefix_len);
-       strcpy(_tt_log_file+prefix_len, _TT_LOG_FILE);
+       snprintf(_tt_log_file + prefix_len, MAXPATHLEN - prefix_len, "%s", _TT_LOG_FILE);
        if (access(_tt_log_file, F_OK) == 0) {
                _tt_process_transaction();
        }
@@ -1533,7 +1533,7 @@ _tt_transaction_1(_Tt_transaction_args* args, SVCXPRT * /* transp */)
                        return _tt_transaction_error(fd);
                }
                memcpy(_tt_log_file, db_path, prefix_len);
-               strcpy(_tt_log_file+prefix_len, _TT_LOG_FILE);
+               snprintf(_tt_log_file + prefix_len, MAXPATHLEN - prefix_len, "%s", _TT_LOG_FILE);
                if (access(_tt_log_file, F_OK) == 0) {
                        _tt_process_transaction();
                }
@@ -1791,7 +1791,7 @@ _tt_addsession_1(_Tt_session_args *argp, SVCXPRT * /* transp */)
        // zero out _tt_record, which is where tp points
        memset(_tt_record, 0, sizeof(_tt_record));
        memcpy(tp->objkey, argp->oidkey.oidkey_val, argp->oidkey.oidkey_len);
-       strcpy(tp->propname, filejoin_prop);
+       snprintf(tp->propname, sizeof(tp->propname), "%s", (char *) filejoin_prop);
        memcpy(tp->propval, (char *) sessionid, sessionid.len());
        isreclen = OID_KEY_LENGTH+MAX_PROP_LENGTH+sessionid.len();
        res.result = iswrite(isfd, _tt_record);
index deee12acbd8f22b0580754b9de317054b561e86d..980ca6b31c6b57ffbbe311803007c97ab596a860 100644 (file)
@@ -82,6 +82,9 @@ _Tt_isam_file
     currentRecordLength = -1;
     currentRecordNumber = -1;
   }
+  
+  maxRecordLength = 0;
+  minRecordLength = 0;
 }
 
 void _Tt_isam_file::setTtISAMFileDefaults ()
index f52cd1f9c8da7748d28c41fe1f00878541a40b2d..526ab725c58535e217523a4022954b8a07ffd372 100644 (file)
@@ -52,6 +52,7 @@ _Tt_trace_optobj::_Tt_trace_optobj()
        _has_outfile = 0;
        _has_session = 2;               // 1 -> -S option, 2 -> set by default
        _has_command = 0;
+       _form = NO_FORM;
 }
 
 int
index 22a9374cf41e18c8d5437ad0ae4e1bb57ae8c33e..ed49cd01f84805b4219d0094df78d05ac125971d 100644 (file)
@@ -55,6 +55,7 @@ _Tt_api_handle_table::
 _Tt_api_handle_table()
 {      
        content = new _Tt_api_handle_list;
+       last_phandle = NULL;
 }
 
 /*
@@ -615,6 +616,7 @@ print(FILE *f) const
 _Tt_api_callback::
 _Tt_api_callback()
 {
+       callback = NULL;
 }
 
 _Tt_api_callback::
@@ -631,6 +633,8 @@ _Tt_api_handle_table::
 _Tt_api_userdata::
 _Tt_api_userdata()
 {
+       key = 0;
+       userdata = NULL;
 }
 
 _Tt_api_userdata::
index f56d8ab2b4014355c18900a0b0474d737ea303c6..15f41118483d56fa63b75e581ec1ff33cebd3d57 100644 (file)
 class _Tt_client_isam_record : public _Tt_object {
 public:
   // Dummy constructor needed to make tt_client_isam_record_utils.cc happy
-  _Tt_client_isam_record () {}
+  _Tt_client_isam_record ()
+    {
+      currentLength = 0;
+      maxLength = 0;
+      minLength = 0;
+    }
 
   // Real constructor
   _Tt_client_isam_record (const _Tt_client_isam_key_descriptor_list_ptr &key_descriptor_list,
index 22e210f11984671a0e718dd8b8bf7b27f0bced62..808c5cfbb0c89038831fc210092b38fc9d005696 100644 (file)
@@ -93,6 +93,14 @@ _Tt_db_client::_Tt_db_client (_Tt_db_results & status)
   setTtDBDefaults();
   connectToDB(db_hostname);
   status = dbConnectionResults;
+  
+  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 (const _Tt_string &hostname, _Tt_db_results & status)
index f3124f9f6d66f24c02e2e599c04507925d1ca418..4af667c78b51cf89c771111e179a891765b82ed7 100644 (file)
 _Tt_db_file::
 _Tt_db_file()
 {
+  dbResults = TT_DB_ERR_ILLEGAL_FILE;
+  checkedDatabase = FALSE;
+  directoryFlag = FALSE;
+  dbFileObjectsCacheLevel = -1;
+  dbFilePropertiesCacheLevel = -1;
+  dbResults = TT_DB_OK;
 }
 
 _Tt_db_file::_Tt_db_file (const _Tt_string &file)
index b4babaf2b600daaba9c67a394923171fdec7c191..b44369d392278be60bcc3f36faa7da06855dc8a2 100644 (file)
@@ -46,6 +46,10 @@ _Tt_auth(_Tt_auth_level auth_level)
 {
     _auth_level = auth_level;
     _auth_cookie = "";
+    _rpc_program = 0;
+    _rpc_version = 0;
+    _entries_head = NULL;
+    _entries_tail = NULL;
 }
 
 
index 36df33d2a6e2b8d0ae12cedc944c0d750c7d478a..ab2a6c3af9af9ecfe1976733068fb0b8e1b3e641 100644 (file)
@@ -82,6 +82,7 @@ _Tt_desktop()
 {
        priv = (_Tt_desktop_private *)malloc(sizeof(_Tt_desktop_private));
        priv->xd = (Display *)0;
+       user_io_handler = NULL;
 }
 
 
index 72986fee8c80df3b067a0dbc90ff959c30a9f6de..fca65dfbc6f2fea2c3b1d341edfc16ca4bfad5ce 100644 (file)
@@ -58,6 +58,7 @@ _Tt_procid()
        _version = 0;
        _flags = 0;
        _mxdr_stream = (XDR *)0;
+       _program = 0;
 }
 
      
index 5a83276a45620b215aaec268b6a6ed2d03a69d9f..56fc930c75c010f12cb4b78aee2f958cf539abb4 100644 (file)
@@ -40,6 +40,7 @@
 _Tt_int_rec::
 _Tt_int_rec()
 {
+       val = 0;
 }
 
 
index 93d841ed6e668c65637b99702267de329250e2eb..5ae549766530b4a5fdebf970aa44a12bc6f271b7 100644 (file)
@@ -53,7 +53,8 @@ _Tt_object_table(int n)
        num_buckets = n;                                                      
        buckets = (_Tt_object_list_ptr *)calloc(n,
                                                sizeof(_Tt_object_list_ptr));
-       _count = 0;                                                           
+       _count = 0;
+       _getkey = NULL;
 }                                                                            
                                                                              
 _Tt_object_table::                                                           
index 6deeca1a808956eb6d00a2d473986d32fb8c753e..bf32b633775242c21f3c3b5169c1deba7ff6a3b1 100644 (file)
@@ -51,6 +51,8 @@ _Tt_trace_parser::_Tt_trace_parser()
     : trace_stream()
 {
        tracer_init();
+
+       mode = 0; // Technically this is openmode O_RDONLY but will be overwritten 
 }
 
 _Tt_trace_parser::_Tt_trace_parser(_Tt_trace_parser& templ)
@@ -94,12 +96,16 @@ _Tt_trace_parser::_Tt_trace_parser(int fd)
        trace_stream[trace_stream.len()] = '\0';
 
        tracer_init();
+       
+       mode = 0; // Technically this is openmode O_RDONLY but will be overwritten 
 }
 
 _Tt_trace_parser::_Tt_trace_parser(const char* script)
 {
        trace_stream = script;
        tracer_init();
+
+       mode = 0; // Technically this is openmode O_RDONLY but will be overwritten 
 }
 
 void
index fefc45ef9ed3f623cbb7129bbcafebf5cf7190b4..0b6f27f32c25b9a092c937d8540450e4a2a06f47 100644 (file)
@@ -44,6 +44,7 @@ const int Tt_trace_buf_len = 4096;
 
 _Tt_trace_stream::_Tt_trace_stream()
 {
+       _is_entered = 0;
 }
 
 _Tt_trace_stream::_Tt_trace_stream(
index 76d716650dda4718a34cfeed7d0252598ce0c877..8fdb5823e8a3d771f1c67a555b8bc4f1e556d540 100644 (file)
@@ -31,6 +31,7 @@
  *
  * Copyright (c) 1990 by Sun Microsystems, Inc.
  */
+#include <stdint.h>
 #if defined(ultrix)
 #include <rpc/types.h>
 #define bool_t int
@@ -101,7 +102,7 @@ tt_x_inline(XDR *xp, int len)
     /* It is better to promote len to caddr_t than demote x_base to
        int for 64 bit arch.
     */
-    if (len > 0 && (caddr_t) len < xp->x_base) {
+    if (len > 0 && (caddr_t) (intptr_t) len < xp->x_base) {
        xp->x_handy += RNDUP (len);
 #if defined(ultrix) || defined(__osf__)
        return (int *) xp->x_private;
index 73cdeb3078d7dfa1ea6332ba96522b422ba7e075..3691f26e455f26a0af7abc2e848451fc40e125dd 100644 (file)
@@ -80,9 +80,9 @@ isrename(oldname, newname)
     /*
      * Check that the odl and new filename are in the same directory.
      */
-    (void)strcpy(olddir, oldname);
+    snprintf(olddir, sizeof(olddir), "%s", oldname);
     _removelast2(olddir);
-    (void)strcpy(newdir, newname);
+    snprintf(newdir, sizeof(newdir), "%s", newname);
     _removelast2(newdir);
 
     if (strcmp(newdir, olddir) != 0) {
index 963784ac537510bfc7504a77f26cc75054fecc43..1e58a7b834f78d75e51c0dbd51a4a492b2c03754 100644 (file)
@@ -59,6 +59,8 @@ _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 0bd690f11a25af041070701891cad42417a6b096..4df567d448adc7838164b9d4ce29dd130b9e46f5 100644 (file)
@@ -80,6 +80,8 @@ _Tt_rpc_server(int program, int version, int Rsocket, _Tt_auth &auth)
        _socket = Rsocket;
        _program = program;
        _auth = auth;
+       _rpc_fd = 0;
+       _transp = NULL;
 }
 
 
index 62323573a9d7520bbe3cb52db51a18ec96c5f0a5..6198d85a7d084885c81e7985473cea4ccdc94951 100644 (file)
@@ -79,6 +79,7 @@ _Tt_signature()
        _mangled_args = 0;
        ce_entry = 0;
        _timestamp = 0;
+       ce_entry = NULL;
 }
 
 _Tt_signature::