diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 55735729..03fa3eb1 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -20,8 +20,10 @@ software or firmware builds or that the documentation is consistent. The full set of tests is only run for tagged releases. ### Summary -- add Travis CI integration (phase 1) -- add Coverity (manual scan upload, not via Travis) +- add Travis CI integration (phase 1), see [Travis CI project wfjm/w11](https://travis-ci.org/wfjm/w11) +- add Coverity Scan (manual scan upload, not via Travis) see [Coverity project wfjm/w11](https://scan.coverity.com/projects/wfjm-w11). +- fixes for several coverity defected defects + - uninitialized variable (all uncritical) - add KW11-P (programmable clock) to all w11 systems - sys_w11_n4: reduce cache from 64 to 32 kB to keep timing closure - stay with vivado 2017.2 as default tool, 2017.2 to 2018.2 exhibit much diff --git a/tools/src/librlink/RlinkCommandList.cpp b/tools/src/librlink/RlinkCommandList.cpp index 538bc071..0d5492f4 100644 --- a/tools/src/librlink/RlinkCommandList.cpp +++ b/tools/src/librlink/RlinkCommandList.cpp @@ -1,6 +1,6 @@ -// $Id: RlinkCommandList.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RlinkCommandList.cpp 1047 2018-09-16 11:08:41Z mueller $ // -// Copyright 2011-2017 by Walter F.J. Mueller +// Copyright 2011-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.3.2 coverity fixup (uninitialized scalar) // 2017-04-02 865 1.3.1 Dump(): add detail arg // 2015-04-02 661 1.3 expect logic: add SetLastExpect methods // 2014-11-23 606 1.2 new rlink v4 iface @@ -63,7 +64,8 @@ RlinkCommandList::RlinkCommandList() //! Copy constructor RlinkCommandList::RlinkCommandList(const RlinkCommandList& rhs) - : fList() + : fList(), + fLaboIndex(-1) { operator=(rhs); } diff --git a/tools/src/librlink/RlinkPortTerm.cpp b/tools/src/librlink/RlinkPortTerm.cpp index da4c58d2..293ef284 100644 --- a/tools/src/librlink/RlinkPortTerm.cpp +++ b/tools/src/librlink/RlinkPortTerm.cpp @@ -1,6 +1,6 @@ -// $Id: RlinkPortTerm.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RlinkPortTerm.cpp 1048 2018-09-22 07:41:46Z mueller $ // -// Copyright 2011-2017 by Walter F.J. Mueller +// Copyright 2011-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-21 1048 1.3.3 coverity fixup (uninitialized field) // 2017-04-15 875 1.3.2 Open(): set default scheme // 2017-04-07 868 1.3.1 Dump(): add detail arg // 2015-04-12 666 1.3 drop xon/xoff excaping; add noinit attribute @@ -32,6 +33,7 @@ \brief Implemenation of RlinkPortTerm. */ +#include #include #include #include @@ -66,7 +68,10 @@ const uint8_t RlinkPortTerm::kc_xoff; RlinkPortTerm::RlinkPortTerm() : RlinkPort() -{} +{ + memset(&fTiosOld,0,sizeof(fTiosOld)); + memset(&fTiosNew,0,sizeof(fTiosNew)); +} //------------------------------------------+----------------------------------- //! Destructor diff --git a/tools/src/librlinktpp/RtclRlinkConnect.cpp b/tools/src/librlinktpp/RtclRlinkConnect.cpp index b6b5ccb8..1624d785 100644 --- a/tools/src/librlinktpp/RtclRlinkConnect.cpp +++ b/tools/src/librlinktpp/RtclRlinkConnect.cpp @@ -1,6 +1,6 @@ -// $Id: RtclRlinkConnect.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RtclRlinkConnect.cpp 1048 2018-09-22 07:41:46Z mueller $ // -// Copyright 2011-2017 by Walter F.J. Mueller +// Copyright 2011-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.6.1 coverity fixup (uninitialized scalar) // 2017-04-29 888 1.6 drop M_rawio; add M_rawread,M_rawrblk,M_rawwblk // 2017-04-22 883 1.5.2 M_amap: -testname opt addr check; add hasrbmon get // 2017-04-02 865 1.5.1 M_dump: use GetArgsDump and Dump detail @@ -238,7 +239,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args) RlinkCommandList clist; string opt; - uint16_t addr; + uint16_t addr=0; vector vardata; vector varstat; @@ -256,7 +257,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args) clist.AddRreg(addr); } else if (opt == "-rblk") { // -rblk addr size ?varData ?varStat - int32_t bsize; + int32_t bsize=0; if (!GetAddr(args, addr)) return kERR; if (!args.GetArg("bsize", bsize, 1, Obj().BlockSizeMax())) return kERR; if (!GetVarName(args, "??varData", lsize, vardata)) return kERR; @@ -264,7 +265,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args) clist.AddRblk(addr, (size_t) bsize); } else if (opt == "-wreg") { // -wreg addr data ?varStat ------- - uint16_t data; + uint16_t data=0; if (!GetAddr(args, addr)) return kERR; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; @@ -288,7 +289,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args) clist.AddAttn(); } else if (opt == "-init") { // -init addr data ?varStat ------- - uint16_t data; + uint16_t data=0; if (!GetAddr(args, addr)) return kERR; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; @@ -490,9 +491,9 @@ int RtclRlinkConnect::M_amap(RtclArgs& args) args.SetResult(int(addrmap.Find(addr, tstname))); } else if (opt == "-insert") { // amap -insert name addr - uint16_t tstaddr; + uint16_t tstaddr=0; string tstname; - int tstint; + int tstint=0; if (!args.GetArg("name", name)) return kERR; // enforce that the name is not a valid representation of an int if (Tcl_GetIntFromObj(nullptr, args[args.NDone()-1], &tstint) == kOK) @@ -528,7 +529,7 @@ int RtclRlinkConnect::M_amap(RtclArgs& args) if (!args.OptValid()) return kERR; if (!args.GetArg("?name", name)) return kERR; if (args.NOptMiss()==0) { // amap name - uint16_t tstaddr; + uint16_t tstaddr=0; if(addrmap.Find(name, tstaddr)) { args.SetResult(int(tstaddr)); } else { @@ -633,8 +634,8 @@ int RtclRlinkConnect::M_oob(RtclArgs& args) static RtclNameSet optset("-rlmon|-rlbmon|-rbmon|-sbcntl|-sbdata"); string opt; - uint16_t addr; - uint16_t data; + uint16_t addr=0; + uint16_t data=0; RerrMsg emsg; if (args.NextOpt(opt, optset)) { @@ -826,7 +827,7 @@ bool RtclRlinkConnect::GetAddr(RtclArgs& args, uint16_t& addr) Tcl_Obj* pobj=0; if (!args.GetArg("addr", pobj)) return kERR; - int tstint; + int tstint=0; // if a number is given.. if (Tcl_GetIntFromObj(nullptr, pobj, &tstint) == kOK) { if (tstint >= 0 && tstint <= 0xffff) { @@ -839,7 +840,7 @@ bool RtclRlinkConnect::GetAddr(RtclArgs& args, uint16_t& addr) // if a name is given } else { string name(Tcl_GetString(pobj)); - uint16_t tstaddr; + uint16_t tstaddr=0; if (Obj().AddrMap().Find(name, tstaddr)) { addr = tstaddr; } else { diff --git a/tools/src/librtcltools/RtclArgs.cpp b/tools/src/librtcltools/RtclArgs.cpp index 38bc25e1..59dae133 100644 --- a/tools/src/librtcltools/RtclArgs.cpp +++ b/tools/src/librtcltools/RtclArgs.cpp @@ -1,6 +1,6 @@ -// $Id: RtclArgs.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RtclArgs.cpp 1047 2018-09-16 11:08:41Z mueller $ // -// Copyright 2011-2014 by Walter F.J. Mueller +// Copyright 2011-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.0.9 coverity fixup (uninitialized scalar) // 2014-08-22 584 1.0.8 use nullptr // 2013-05-19 521 1.0.7 add NextSubOpt() method, pass optset's as const // 2013-02-12 487 1.0.6 add CurrentArg() method @@ -93,6 +94,7 @@ RtclArgs::RtclArgs(const RtclArgs& rhs) fObjv(rhs.fObjv), fNDone(rhs.fNDone), fNOptMiss(rhs.fNOptMiss), + fNConfigRead(rhs.fNConfigRead), fOptErr(rhs.fOptErr), fArgErr(rhs.fArgErr) {} diff --git a/tools/src/librtcltools/RtclClassBase.cpp b/tools/src/librtcltools/RtclClassBase.cpp index b8748a77..3b117da9 100644 --- a/tools/src/librtcltools/RtclClassBase.cpp +++ b/tools/src/librtcltools/RtclClassBase.cpp @@ -1,6 +1,6 @@ -// $Id: RtclClassBase.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RtclClassBase.cpp 1047 2018-09-16 11:08:41Z mueller $ // -// Copyright 2011-2014 by Walter F.J. Mueller +// Copyright 2011-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.0.5 coverity fixup (uninitialized pointer) // 2014-08-22 584 1.0.4 use nullptr // 2013-02-10 485 1.0.3 add static const defs // 2013-01-13 474 1.0.2 TclClassCmd(): check for existing Rtclproxy names @@ -56,7 +57,8 @@ const int RtclClassBase::kERR; RtclClassBase::RtclClassBase(const std::string& type) : fType(type), - fInterp(0) + fInterp(0), + fCmdToken(0) {} //------------------------------------------+----------------------------------- diff --git a/tools/src/librtcltools/RtclProxyBase.cpp b/tools/src/librtcltools/RtclProxyBase.cpp index d5edc2d9..87794c83 100644 --- a/tools/src/librtcltools/RtclProxyBase.cpp +++ b/tools/src/librtcltools/RtclProxyBase.cpp @@ -1,6 +1,6 @@ -// $Id: RtclProxyBase.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RtclProxyBase.cpp 1047 2018-09-16 11:08:41Z mueller $ // -// Copyright 2011-2017 by Walter F.J. Mueller +// Copyright 2011-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.5.1 coverity fixup (uninitialized pointer) // 2017-03-11 859 1.5 adopt new DispatchCmd() logic // 2014-08-22 584 1.4.3 use nullptr // 2013-02-09 485 1.4.2 add CommandName() @@ -54,7 +55,8 @@ typedef std::pair mmap_ins_t; RtclProxyBase::RtclProxyBase(const std::string& type) : RtclCmdBase(), fType(type), - fInterp(0) + fInterp(0), + fCmdToken(0) {} //------------------------------------------+----------------------------------- diff --git a/tools/src/librw11/Rw11RdmaDisk.cpp b/tools/src/librw11/Rw11RdmaDisk.cpp index dd860657..968a5229 100644 --- a/tools/src/librw11/Rw11RdmaDisk.cpp +++ b/tools/src/librw11/Rw11RdmaDisk.cpp @@ -1,6 +1,6 @@ -// $Id: Rw11RdmaDisk.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: Rw11RdmaDisk.cpp 1047 2018-09-16 11:08:41Z mueller $ // -// Copyright 2015-2017 by Walter F.J. Mueller +// Copyright 2015-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.0.2 coverity fixup (uninitialized scalar) // 2017-04-02 865 1.0.1 Dump(): add detail arg // 2015-01-04 628 1.0 Initial version // --------------------------------------------------------------------------- @@ -48,7 +49,8 @@ Rw11RdmaDisk::Rw11RdmaDisk(Rw11Cntl* pcntl, const precb_t& precb, fpUnit(nullptr), fNWord(0), fNBlock(0), - fLba() + fLba(), + fFunc(kFuncRead) { fStats.Define(kStatNWritePadded, "NWritePadded" , "padded disk write"); fStats.Define(kStatNWChkFail, "NWChkFail" , "write check failed"); diff --git a/tools/src/librw11/Rw11VirtDiskFile.cpp b/tools/src/librw11/Rw11VirtDiskFile.cpp index 5cbde176..69e013b0 100644 --- a/tools/src/librw11/Rw11VirtDiskFile.cpp +++ b/tools/src/librw11/Rw11VirtDiskFile.cpp @@ -1,6 +1,6 @@ -// $Id: Rw11VirtDiskFile.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: Rw11VirtDiskFile.cpp 1047 2018-09-16 11:08:41Z mueller $ // -// Copyright 2013-2017 by Walter F.J. Mueller +// Copyright 2013-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-16 1047 1.1.3 coverity fixup (uninitialized scalar) // 2017-04-15 875 1.1.2 Open(): add overload with scheme handling // 2017-04-07 868 1.1.1 Dump(): add detail arg // 2017-03-11 859 1.1 use fWProt @@ -49,7 +50,8 @@ namespace Retro { Rw11VirtDiskFile::Rw11VirtDiskFile(Rw11Unit* punit) : Rw11VirtDisk(punit), - fFd(0) + fFd(0), + fSize(0) {} //------------------------------------------+----------------------------------- diff --git a/tools/src/librwxxtpp/RtclRw11Cpu.cpp b/tools/src/librwxxtpp/RtclRw11Cpu.cpp index d612cb7f..5612f0aa 100644 --- a/tools/src/librwxxtpp/RtclRw11Cpu.cpp +++ b/tools/src/librwxxtpp/RtclRw11Cpu.cpp @@ -1,6 +1,6 @@ -// $Id: RtclRw11Cpu.cpp 983 2018-01-02 20:35:59Z mueller $ +// $Id: RtclRw11Cpu.cpp 1048 2018-09-22 07:41:46Z mueller $ // -// Copyright 2013-2017 by Walter F.J. Mueller +// Copyright 2013-2018 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2018-09-21 1048 1.2.18 coverity fixup (uninitialized scalar) // 2017-04-22 883 1.2.17 M_(imap|rmap): -testname optional addr check // 2017-04-15 876 1.2.16 add ControllerCommands() // 2017-04-15 875 1.2.15 M_default: add attached units summary @@ -164,7 +165,7 @@ int RtclRw11Cpu::M_imap(RtclArgs& args) if (!args.GetArg("name", name)) return kERR; if (!args.GetArg("?addr", addr)) return kERR; if (!args.AllDone()) return kERR; - uint16_t tstaddr; + uint16_t tstaddr=0; bool found = addrmap.Find(name, tstaddr); if (found && args.NOptMiss()==0) { // if specified addr if (tstaddr != addr) found = false; // verify addr @@ -178,9 +179,9 @@ int RtclRw11Cpu::M_imap(RtclArgs& args) args.SetResult(int(addrmap.Find(addr, tstname))); } else if (opt == "-insert") { // imap -insert name addr - uint16_t tstaddr; + uint16_t tstaddr=0; string tstname; - int tstint; + int tstint=0; if (!args.GetArg("name", name)) return kERR; // enforce that the name is not a valid representation of an int if (Tcl_GetIntFromObj(nullptr, args[args.NDone()-1], &tstint) == kOK) @@ -212,7 +213,7 @@ int RtclRw11Cpu::M_imap(RtclArgs& args) if (!args.OptValid()) return kERR; if (!args.GetArg("?name", name)) return kERR; if (args.NOptMiss()==0) { // imap name - uint16_t tstaddr; + uint16_t tstaddr=0; if(addrmap.Find(name, tstaddr)) { args.SetResult(int(tstaddr)); } else { @@ -267,7 +268,7 @@ int RtclRw11Cpu::M_rmap(RtclArgs& args) if (!args.GetArg("name", name)) return kERR; if (!args.GetArg("?addr", addr)) return kERR; if (!args.AllDone()) return kERR; - uint16_t tstaddr; + uint16_t tstaddr=0; bool found = lmap.Find(name, tstaddr); if (found && args.NOptMiss()==0) { // if specified addr if (tstaddr != addr) found = false; // verify addr @@ -281,9 +282,9 @@ int RtclRw11Cpu::M_rmap(RtclArgs& args) args.SetResult(int(lmap.Find(addr, tstname))); } else if (opt == "-insert") { // rmap -insert name addr - uint16_t tstaddr; + uint16_t tstaddr=0; string tstname; - int tstint; + int tstint=0; if (!args.GetArg("name", name)) return kERR; // enforce that the name is not a valid representation of an int if (Tcl_GetIntFromObj(nullptr, args[args.NDone()-1], &tstint) == kOK) @@ -315,7 +316,7 @@ int RtclRw11Cpu::M_rmap(RtclArgs& args) if (!args.OptValid()) return kERR; if (!args.GetArg("?name", name)) return kERR; if (args.NOptMiss()==0) { // rmap name - uint16_t tstaddr; + uint16_t tstaddr=0; if(lmap.Find(name, tstaddr)) { args.SetResult(int(tstaddr)); } else if(cmap.Find(name, tstaddr)) { @@ -394,15 +395,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) } if (opt == "-rreg") { // -rreg addr ?varData ?varStat --- - uint16_t addr; + uint16_t addr=0; if (!GetRAddr(args, addr)) return kERR; if (!GetVarName(args, "??varData", lsize, vardata)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddRreg(addr); } else if (opt == "-rblk") { // -rblk addr size ?varData ?varStat - uint16_t addr; - int32_t bsize; + uint16_t addr=0; + int32_t bsize=0; if (!GetRAddr(args, addr)) return kERR; if (!args.GetArg("bsize", bsize, 1, Connect().BlockSizeMax())) return kERR; if (!GetVarName(args, "??varData", lsize, vardata)) return kERR; @@ -410,15 +411,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddRblk(addr, (size_t) bsize); } else if (opt == "-wreg") { // -wreg addr data ?varStat ------- - uint16_t addr; - uint16_t data; + uint16_t addr=0; + uint16_t data=0; if (!GetRAddr(args, addr)) return kERR; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddWreg(addr, data); } else if (opt == "-wblk") { // -wblk addr block ?varStat ------ - uint16_t addr; + uint16_t addr=0; vector block; if (!GetRAddr(args, addr)) return kERR; if (!args.GetArg("data", block, 1, Connect().BlockSizeMax())) return kERR; @@ -436,8 +437,8 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddAttn(); } else if (opt == "-init") { // -init addr data ?varStat ------- - uint16_t addr; - uint16_t data; + uint16_t addr=0; + uint16_t data=0; if (!GetRAddr(args, addr)) return kERR; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; @@ -449,7 +450,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddRreg(base + Rw11Cpu::kCPR0 + regnum); } else if (opt == "-wr") { // -wr* data ?varStat ------------ - uint16_t data; + uint16_t data=0; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddWreg(base + Rw11Cpu::kCPR0 + regnum, data); @@ -460,7 +461,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddRreg(base + Rw11Cpu::kCPPSW); } else if (opt == "-wps") { // -wps data ?varStat ------------ - uint16_t data; + uint16_t data=0; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddWreg(base + Rw11Cpu::kCPPSW, data); @@ -476,19 +477,19 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddRreg(base + Rw11Cpu::kCPAH); } else if (opt == "-wal") { // -wal data ?varStat ------------ - uint16_t ibaddr; + uint16_t ibaddr=0; if (!GetIAddr(args, ibaddr)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddWreg(base + Rw11Cpu::kCPAL, ibaddr); } else if (opt == "-wah") { // -wah data ?varStat ------------ - uint16_t data; + uint16_t data=0; if (!args.GetArg("ah", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddWreg(base + Rw11Cpu::kCPAH, data); } else if (opt == "-wa") { // -wa addr ?varStat [-p22 -ubm]-- - uint32_t addr; + uint32_t addr=0; if (!args.GetArg("addr", addr, 017777776)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; uint16_t al = addr; @@ -515,7 +516,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddRreg(base + addr); } else if (opt == "-rma") { // -rma addr ?varData ?varStat --- - uint16_t ibaddr; + uint16_t ibaddr=0; if (!GetIAddr(args, ibaddr)) return kERR; // bind expects to memi access, which is second command if (!GetVarName(args, "??varData", lsize+1, vardata)) return kERR; @@ -527,14 +528,14 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) opt == "-wmi") { uint16_t addr = opt=="-wm" ? Rw11Cpu::kCPMEM : Rw11Cpu::kCPMEMI; - uint16_t data; + uint16_t data=0; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; clist.AddWreg(base + addr, data); } else if (opt == "-wma") { // -wma addr data ?varStat ------- - uint16_t ibaddr; - uint16_t data; + uint16_t ibaddr=0; + uint16_t data=0; if (!GetIAddr(args, ibaddr)) return kERR; if (!args.GetArg("data", data)) return kERR; // bind expects to memi access, which is second command @@ -543,7 +544,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddWreg(base + Rw11Cpu::kCPMEMI, data); } else if (opt == "-brm") { // -brm size ?varData ?varStat --- - int32_t bsize; + int32_t bsize=0; if (!args.GetArg("bsize", bsize, 1, Connect().BlockSizeMax())) return kERR; if (!GetVarName(args, "??varData", lsize, vardata)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; @@ -586,7 +587,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) setcpuact = true; } else if (opt == "-stapc") { // -stapc addr ?varStat ---------- - uint16_t data; + uint16_t data=0; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize+1, varstat)) return kERR; clist.AddWreg(base + Rw11Cpu::kCPCNTL, Rw11Cpu::kCPFUNC_STOP); @@ -601,7 +602,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) clist.AddRreg(base + Rw11Cpu::kCPMEMBE); } else if (opt == "-wmembe") { // -wmembe be ?varStat [-stick] - - uint16_t be; + uint16_t be=0; bool stick = false; if (!args.GetArg("be", be, 3)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; @@ -617,15 +618,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) Obj().AddMembe(clist, be, stick); } else if (opt == "-ribr") { // -ribr iba ?varData ?varStat ---- - uint16_t ibaddr; + uint16_t ibaddr=0; if (!GetIAddr(args, ibaddr)) return kERR; if (!GetVarName(args, "??varData", lsize, vardata)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; Obj().AddRibr(clist, ibaddr); } else if (opt == "-rbibr") { // -rbibr iba size ?varData ?varStat - uint16_t ibaddr; - int32_t bsize; + uint16_t ibaddr=0; + int32_t bsize=0; if (!GetIAddr(args, ibaddr)) return kERR; if (!args.GetArg("bsize", bsize, 1, Connect().BlockSizeMax())) return kERR; if (!GetVarName(args, "??varData", lsize, vardata)) return kERR; @@ -633,15 +634,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args) Obj().AddRbibr(clist, ibaddr, (size_t) bsize); } else if (opt == "-wibr") { // -wibr iba data ?varStat -------- - uint16_t ibaddr; - uint16_t data; + uint16_t ibaddr=0; + uint16_t data=0; if (!GetIAddr(args, ibaddr)) return kERR; if (!args.GetArg("data", data)) return kERR; if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR; Obj().AddWibr(clist, ibaddr, data); } else if (opt == "-wbibr") { // -wbibr iba block data ?varStat - - uint16_t ibaddr; + uint16_t ibaddr=0; vector block; if (!GetIAddr(args, ibaddr)) return kERR; if (!args.GetArg("data", block, 1, Connect().BlockSizeMax())) return kERR; @@ -858,7 +859,7 @@ int RtclRw11Cpu::M_wtcpu(RtclArgs& args) int RtclRw11Cpu::M_deposit(RtclArgs& args) { - uint16_t addr; + uint16_t addr=0; vector data; if (!args.GetArg("addr", addr)) return kERR; if (!args.GetArg("data", data, 1)) return kERR; @@ -876,7 +877,7 @@ int RtclRw11Cpu::M_deposit(RtclArgs& args) int RtclRw11Cpu::M_examine(RtclArgs& args) { - uint16_t addr; + uint16_t addr=0; if (!args.GetArg("addr", addr)) return kERR; if (!args.AllDone()) return kERR; @@ -895,7 +896,7 @@ int RtclRw11Cpu::M_examine(RtclArgs& args) int RtclRw11Cpu::M_lsmem(RtclArgs& args) { - uint16_t abeg; + uint16_t abeg=0; if (!args.GetArg("abeg", abeg)) return kERR; uint16_t aend = abeg; if (!args.GetArg("?aend", aend, 0xffff, abeg)) return kERR;