Menu

Access of moved variable FP?

Martin
2022-09-13
2022-09-13
  • Martin

    Martin - 2022-09-13

    Hi,

    for this (extremely shortened) code

       class VerifierTask
       {
             void commandPostExec() override
             {
                m_TaskHandler.postNewTask(std::unique_ptr<VerifierTask>(
                      new VerifierTask(std::move(m_CachedEntries))
                   ));
             }
             VerifierTask(std::unique_ptr<std::vector<LEntry>> cachedEntries)
                : m_CachedEntries(std::move(cachedEntries)),
    
             { }
             std::unique_ptr<std::vector<LEntry>> m_CachedEntries;
       };
    

    cppcheck shows:

    /home/user/Desktop/22-09-13.cpp:10:15: warning: Access of moved variable 'm_CachedEntries'. [accessMoved]
                : m_CachedEntries(std::move(cachedEntries)),
                  ^
    /home/user/Desktop/22-09-13.cpp:6:36: note: Calling std::move(m_CachedEntries)
                      new VerifierTask(std::move(m_CachedEntries))
                                       ^
    /home/user/Desktop/22-09-13.cpp:10:15: note: Access of moved variable 'm_CachedEntries'.
                : m_CachedEntries(std::move(cachedEntries)),
    

    Is this a correct finding?

    Thanks,
    Martin

     
  • CHR

    CHR - 2022-09-13

    Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/11308

     
  • Martin

    Martin - 2022-09-13

    The FP also occurs when 'override' is replaced with 'const'.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.