[DynInst_API:] [dyninst/dyninst] 8baccc: AddressTranslateWin


Date: Tue, 09 May 2023 09:44:10 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 8baccc: AddressTranslateWin
  Branch: refs/heads/fix_virtual_call_in_constructor
  Home:   https://github.com/dyninst/dyninst
  Commit: 8baccc50189590ef61e683bf5069cdbd94446721
      https://github.com/dyninst/dyninst/commit/8baccc50189590ef61e683bf5069cdbd94446721
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M common/src/addrtranslate-win.C

  Log Message:
  -----------
  AddressTranslateWin

Found using cppcheck:

common/src/addrtranslate-win.C:49:17: style: Virtual function 'init' is called from constructor 'AddressTranslateWin(PID pid,PROC_HANDLE phandle)' at line 168. Dynamic binding is not used. [virtualCallInConstructor]
   virtual bool init();


  Commit: ac02ca8f660c09e0e832337a1843b8c5bc4a8904
      https://github.com/dyninst/dyninst/commit/ac02ca8f660c09e0e832337a1843b8c5bc4a8904
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M common/src/NodeIterator.h

  Log Message:
  -----------
  NodeIteratorPredicateObj

Found using cppcheck:

common/src/NodeIterator.h:293:18: style: Virtual function 'inc' is
called from constructor
'NodeIteratorPredicateObj(Graph::NodePredicate::Ptr
p,NodeIterator&b,NodeIterator&e)' at line 331. Dynamic binding is not
used. [virtualCallInConstructor]


  Commit: 16a79f54371bf0cbf53769690ace41b26fb51778
      https://github.com/dyninst/dyninst/commit/16a79f54371bf0cbf53769690ace41b26fb51778
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M common/src/NodeIterator.h

  Log Message:
  -----------
  NodeIteratorPredicateFunc

Found using cppcheck:

common/src/NodeIterator.h:352:18: style: Virtual function 'inc' is
called from constructor
'NodeIteratorPredicateFunc(Graph::NodePredicateFunc
p,void*u,NodeIterator&b,NodeIterator&e)' at line 394. Dynamic binding is
not used. [virtualCallInConstructor]


  Commit: 3be0c6ba4dc7fe6851bfca053cfcab2b43cfb83b
      https://github.com/dyninst/dyninst/commit/3be0c6ba4dc7fe6851bfca053cfcab2b43cfb83b
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-x86.C

  Log Message:
  -----------
  InstructionDecoder_x86

Found using cppcheck:

instructionAPI/src/InstructionDecoder-x86.h:74:49: style: Virtual function 'setMode' is called from constructor 'InstructionDecoder_x86(Architecture a)' at line 144. Dynamic binding is not used. [virtualCallInConstructor]
                INSTRUCTION_EXPORT virtual void setMode(bool is64);
                                                ^
instructionAPI/src/InstructionDecoder-x86.C:144:28: note: Calling setMode
      if(a == Arch_x86_64) setMode(true);
                           ^
instructionAPI/src/InstructionDecoder-x86.h:74:49: note: setMode is a virtual function
                INSTRUCTION_EXPORT virtual void setMode(bool is64);


  Commit: 4fe14d5321eeccad18f39b5d8d192a99ec53e248
      https://github.com/dyninst/dyninst/commit/4fe14d5321eeccad18f39b5d8d192a99ec53e248
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M parseAPI/src/CFGFactory.C

  Log Message:
  -----------
  CFGFactor::destroy_block

Found using cppcheck:

parseAPI/h/CFGFactory.h:117:18: style: Virtual function 'free_block' is called from destructor '~CFGFactory()' at line 92. Dynamic binding is not used. [virtualCallInConstructor]
    virtual void free_block(Block * b);
                 ^
parseAPI/src/CFGFactory.C:92:5: note: Calling destroy_block
    destroy_block(b);
    ^
parseAPI/src/CFGFactory.C:182:5: note: Calling free_block
    free_block(b);
    ^
parseAPI/h/CFGFactory.h:117:18: note: free_block is a virtual function
    virtual void free_block(Block * b);


  Commit: b32c57a95b2fde9c01cf123714bf97af2772c826
      https://github.com/dyninst/dyninst/commit/b32c57a95b2fde9c01cf123714bf97af2772c826
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M parseAPI/src/CFGFactory.C

  Log Message:
  -----------
  CFGFactor::free_func

Found using cppcheck:

parseAPI/h/CFGFactory.h:116:18: style: Virtual function 'free_func' is called from destructor '~CFGFactory()' at line 95. Dynamic binding is not used. [virtualCallInConstructor]
    virtual void free_func(Function * f);
                 ^
parseAPI/src/CFGFactory.C:95:5: note: Calling destroy_func
    destroy_func(f);
    ^
parseAPI/src/CFGFactory.C:172:4: note: Calling free_func
   free_func(f);
   ^
parseAPI/h/CFGFactory.h:116:18: note: free_func is a virtual function
    virtual void free_func(Function * f);


  Commit: 3a84d17abd790688b43779aab97a1e4610e1eab8
      https://github.com/dyninst/dyninst/commit/3a84d17abd790688b43779aab97a1e4610e1eab8
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M parseAPI/src/CFGFactory.C

  Log Message:
  -----------
  CFGFactor::free_edge


  Commit: 767dcfb6902dc5a616e62dfc777a0b4281b197d5
      https://github.com/dyninst/dyninst/commit/767dcfb6902dc5a616e62dfc777a0b4281b197d5
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M proccontrol/src/freebsd.C

  Log Message:
  -----------
  ~freebsd_process

Found using cppcheck:

proccontrol/src/freebsd.C:1046:17: warning: Member variable 'freebsd_thread::is_exited' is not initialized in the constructor. [uninitMemberVar]
freebsd_thread::freebsd_thread(int_process *p, Dyninst::THR_ID t, Dyninst::LWP l)
                ^
proccontrol/src/freebsd.h:122:17: style: Virtual function 'getEventQueue' is called from destructor '~freebsd_process()' at line 795. Dynamic binding is not used. [virtualCallInConstructor]
    virtual int getEventQueue();
                ^
proccontrol/src/freebsd.C:795:22: note: Calling getEventQueue
    int eventQueue = getEventQueue();
                     ^
proccontrol/src/freebsd.h:122:17: note: getEventQueue is a virtual function
    virtual int getEventQueue();


Compare: https://github.com/dyninst/dyninst/compare/8baccc501895%5E...767dcfb6902d
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 8baccc: AddressTranslateWin, Tim Haines <=