misc: Another round of static analysis fixups
authorAndreas Hansson <andreas.hansson@arm.com>
Mon, 24 Nov 2014 14:03:38 +0000 (09:03 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Mon, 24 Nov 2014 14:03:38 +0000 (09:03 -0500)
Mostly addressing uninitialised members.

src/base/bigint.hh
src/base/remote_gdb.cc
src/dev/virtio/base.cc
src/dev/virtio/base.hh
src/dev/virtio/fs9p.cc
src/dev/virtio/pci.cc
src/mem/external_slave.cc
src/sim/insttracer.hh
src/sim/process.cc
src/sim/syscall_emul.cc

index a4e8738d304749b364a2074dd27a5c0e7c1fc97e..2fa441a73df7c7e3f846e1384de4bbd73a4c30a6 100644 (file)
 struct m5_twin64_t {
     uint64_t a;
     uint64_t b;
-    m5_twin64_t()
+    m5_twin64_t() : a(0), b(0)
+    {}
+    m5_twin64_t(const uint64_t x) : a(x), b(x)
     {}
-    m5_twin64_t(const uint64_t x)
-    {
-        a = x;
-        b = x;
-    }
     inline m5_twin64_t& operator=(const uint64_t x)
     {
         a = x;
index 49b7ce50d2e478c9fe5a4dc79e79246887ce36a4..ead8db9aeabf264a0b336f9d5793b67c2b63a84a 100644 (file)
@@ -658,12 +658,13 @@ BaseRemoteGDB::trap(int type)
      * After the debugger is "active" (connected) it will be
      * waiting for a "signaled" message from us.
      */
-    if (!active)
+    if (!active) {
         active = true;
-    else
+    } else {
         // Tell remote host that an exception has occurred.
         snprintf((char *)buffer, bufferSize, "S%02x", type);
         send(buffer);
+    }
 
     // Stick frame regs into our reg cache.
     getregs();
index 79304cf1dffa8074415b5f0fb520856623603914..44cce65c4a984fa0cdd12a2f63ec0fb259e6e8d9 100644 (file)
@@ -43,7 +43,8 @@
 
 VirtDescriptor::VirtDescriptor(PortProxy &_memProxy, VirtQueue &_queue,
                                Index descIndex)
-    : memProxy(&_memProxy), queue(&_queue), _index(descIndex)
+    : memProxy(&_memProxy), queue(&_queue), _index(descIndex),
+      desc{0, 0, 0, 0}
 {
 }
 
index 4695f2b96d276ba0b15527ba14c1f180dcfa4b3d..fe1685767cbbaf1203e3952d81362f122993768d 100644 (file)
@@ -479,7 +479,7 @@ public:
         } M5_ATTR_PACKED;
 
         VirtRing<T>(PortProxy &proxy, uint16_t size)
-            : ring(size), _proxy(proxy), _base(0) {}
+        : header{0, 0}, ring(size), _proxy(proxy), _base(0) {}
 
         /**
          * Set the base address of the VirtIO ring buffer.
index b09ab15aa3c6502ee3fcfc862a39556bb0b561f5..4861821d70fa4f51b0432b29ac68ab9bfc6e35cc 100644 (file)
@@ -291,7 +291,7 @@ VirtIO9PProxy::writeAll(const uint8_t *data, size_t len)
 
 VirtIO9PDiod::VirtIO9PDiod(Params *params)
     : VirtIO9PProxy(params),
-      fd_to_diod(-1), fd_from_diod(-1)
+      fd_to_diod(-1), fd_from_diod(-1), diod_pid(-1)
 {
 }
 
index 399590c1bacbab0fea2566f656145181feef6b6f..1f99d7fe4eae0b947030bb9e7a803c9e5daf4d65 100644 (file)
@@ -43,8 +43,8 @@
 #include "params/PciVirtIO.hh"
 
 PciVirtIO::PciVirtIO(const Params *params)
-    : PciDevice(params), vio(*params->vio),
-      callbackKick(this)
+    : PciDevice(params), queueNotify(0), interruptDeliveryPending(false),
+      vio(*params->vio), callbackKick(this)
 {
     // Override the subsystem ID with the device ID from VirtIO
     config.subsystemID = htole(vio.deviceId);
index c7ad521c9205fbe283205ae275417d16210f38c8..c2ec8e2e4cc65ce84474689f2e14d2e1f1b51181 100644 (file)
@@ -73,7 +73,7 @@ class StubSlavePort : public ExternalSlave::Port
     StubSlavePort(const std::string &name_,
         ExternalSlave &owner_) :
         ExternalSlave::Port(name_, owner_),
-        responseEvent(*this), responsePacket(NULL)
+        responseEvent(*this), responsePacket(NULL), mustRetry(false)
     { }
 
     Tick recvAtomic(PacketPtr packet);
index 5967121200dc5b33a644d8a71590415f28d428ff..df1f127663bc2f6d80930b3ebd6a5455a6423ae2 100644 (file)
@@ -94,13 +94,10 @@ class InstRecord
         : when(_when), thread(_thread),
           staticInst(_staticInst), pc(_pc),
           macroStaticInst(_macroStaticInst),
-          misspeculating(spec), predicate(true)
+          misspeculating(spec), predicate(true), addr(0), addr_valid(false),
+          data_status(DataInvalid),
+          fetch_seq(0), fetch_seq_valid(false), cp_seq(0), cp_seq_valid(false)
     {
-        data_status = DataInvalid;
-        addr_valid = false;
-
-        fetch_seq_valid = false;
-        cp_seq_valid = false;
     }
 
     virtual ~InstRecord() { }
index 0412c27e018e104c65fe2be1026fc6d1f5c456d5..2e5f64497acdbe69dc642613a51bca3b5a706928 100644 (file)
@@ -104,7 +104,9 @@ template struct AuxVector<uint64_t>;
 
 Process::Process(ProcessParams * params)
     : SimObject(params), system(params->system),
+      brk_point(0), stack_base(0), stack_size(0), stack_min(0),
       max_stack_size(params->max_stack_size),
+      next_thread_stack_base(0),
       M5_pid(system->allocatePID()),
       useArchPT(params->useArchPT),
       kvmInSE(params->kvmInSE),
index cb592e33812a2b538700194c0b790864258de488..37d0121c5ca40b5ad39791beeefacc88671e8672 100644 (file)
@@ -228,6 +228,7 @@ readFunc(SyscallDesc *desc, int num, LiveProcess *p, ThreadContext *tc)
 {
     int index = 0;
     int fd = p->sim_fd(p->getSyscallArg(tc, index));
+    assert(fd >= 0);
     Addr bufPtr = p->getSyscallArg(tc, index);
     int nbytes = p->getSyscallArg(tc, index);
     BufferArg bufArg(bufPtr, nbytes);
@@ -264,6 +265,7 @@ lseekFunc(SyscallDesc *desc, int num, LiveProcess *p, ThreadContext *tc)
 {
     int index = 0;
     int fd = p->sim_fd(p->getSyscallArg(tc, index));
+    assert(fd >= 0);
     uint64_t offs = p->getSyscallArg(tc, index);
     int whence = p->getSyscallArg(tc, index);
 
@@ -278,6 +280,7 @@ _llseekFunc(SyscallDesc *desc, int num, LiveProcess *p, ThreadContext *tc)
 {
     int index = 0;
     int fd = p->sim_fd(p->getSyscallArg(tc, index));
+    assert(fd >= 0);
     uint64_t offset_high = p->getSyscallArg(tc, index);
     uint32_t offset_low = p->getSyscallArg(tc, index);
     Addr result_ptr = p->getSyscallArg(tc, index);
@@ -301,9 +304,6 @@ _llseekFunc(SyscallDesc *desc, int num, LiveProcess *p, ThreadContext *tc)
         result_buf.copyOut(tc->getMemProxy());
         return 0;
     }
-
-
-    return (result == (off_t)-1) ? -errno : result;
 }