New Defects reported by Coverity Scan for RTEMS-Tools

scan-admin at coverity.com scan-admin at coverity.com
Fri Oct 3 21:14:53 UTC 2025


Hi,

Please find the latest report on new defect(s) introduced to RTEMS-Tools found with Coverity Scan.

3 new defect(s) introduced to RTEMS-Tools found with Coverity Scan.
11 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 3 of 3 defect(s)


** CID 1665833:       Uninitialized variables  (USE_AFTER_MOVE)
/usr/include/c++/14/bits/stl_list.h: 1860           in std::__cxx11::list<rld::files::object *, std::allocator<rld::files::object *>>::merge(std::__cxx11::list<rld::files::object *, std::allocator<rld::files::object *>>&)()


_____________________________________________________________________________________________
*** CID 1665833:         Uninitialized variables  (USE_AFTER_MOVE)
/usr/include/c++/14/bits/stl_list.h: 1860             in std::__cxx11::list<rld::files::object *, std::allocator<rld::files::object *>>::merge(std::__cxx11::list<rld::files::object *, std::allocator<rld::files::object *>>&)()
1854     #if __cplusplus >= 201103L
1855           void
1856           merge(list&& __x);
1857     
1858           void
1859           merge(list& __x)
>>>     CID 1665833:         Uninitialized variables  (USE_AFTER_MOVE)
>>>     Returning while reference parameter "__x" is in a moved state.
1860           { merge(std::move(__x)); }
1861     #else
1862           void
1863           merge(list& __x);
1864     #endif
1865     

** CID 1665832:       Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/tester/covoar/TargetFactory.cc: 78           in Target::TargetFactory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)()


_____________________________________________________________________________________________
*** CID 1665832:         Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/tester/covoar/TargetFactory.cc: 78             in Target::TargetFactory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)()
72         }
73     
74         // std::cerr << targetName << " --> " << cpu << std::endl;
75         // Iterate over the table trying to find an entry with a matching name
76         for ( i = 0 ; i < sizeof( FactoryTable ) / sizeof( FactoryEntry_t ); i++) {
77           if ( FactoryTable[i].theTarget == cpu ) {
>>>     CID 1665832:         Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "targetName" is passed-by-value as parameter to "Target::FactoryTable[i].theCtor", when it could be moved instead.
78             return FactoryTable[i].theCtor( targetName );
79           }
80         }
81     
82         std::ostringstream what;
83         what << cpu << "is not a known architecture!!! - fix me" << std::endl;

** CID 1648123:         (USE_AFTER_MOVE)
/usr/include/c++/14/bits/alloc_traits.h: 782           in std::__do_alloc_on_move<std::allocator<char>>(T1 &, T1 &, std::integral_constant<bool, (bool)1>)()
/usr/include/c++/14/bits/alloc_traits.h: 782           in std::__do_alloc_on_move<std::allocator<char>>(T1 &, T1 &, std::integral_constant<bool, (bool)1>)()
/usr/include/c++/14/bits/alloc_traits.h: 782           in std::__do_alloc_on_move<std::allocator<char>>(T1 &, T1 &, std::integral_constant<bool, (bool)1>)()


_____________________________________________________________________________________________
*** CID 1648123:           (USE_AFTER_MOVE)
/usr/include/c++/14/bits/alloc_traits.h: 782             in std::__do_alloc_on_move<std::allocator<char>>(T1 &, T1 &, std::integral_constant<bool, (bool)1>)()
776         }
777     
778     #if __cplusplus < 201703L
779       template<typename _Alloc>
780         [[__gnu__::__always_inline__]]
781         inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type)
>>>     CID 1648123:           (USE_AFTER_MOVE)
>>>     Returning while reference parameter "__two" is in a moved state.
782         { __one = std::move(__two); }
783     
784       template<typename _Alloc>
785         [[__gnu__::__always_inline__]]
786         inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type)
787         { }
/usr/include/c++/14/bits/alloc_traits.h: 782             in std::__do_alloc_on_move<std::allocator<char>>(T1 &, T1 &, std::integral_constant<bool, (bool)1>)()
776         }
777     
778     #if __cplusplus < 201703L
779       template<typename _Alloc>
780         [[__gnu__::__always_inline__]]
781         inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type)
>>>     CID 1648123:           (USE_AFTER_MOVE)
>>>     Returning while reference parameter "__two" is in a moved state.
782         { __one = std::move(__two); }
783     
784       template<typename _Alloc>
785         [[__gnu__::__always_inline__]]
786         inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type)
787         { }
/usr/include/c++/14/bits/alloc_traits.h: 782             in std::__do_alloc_on_move<std::allocator<char>>(T1 &, T1 &, std::integral_constant<bool, (bool)1>)()
776         }
777     
778     #if __cplusplus < 201703L
779       template<typename _Alloc>
780         [[__gnu__::__always_inline__]]
781         inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type)
>>>     CID 1648123:           (USE_AFTER_MOVE)
>>>     Returning while reference parameter "__two" is in a moved state.
782         { __one = std::move(__two); }
783     
784       template<typename _Alloc>
785         [[__gnu__::__always_inline__]]
786         inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type)
787         { }


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/rtems-tools?tab=overview

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/build/attachments/20251003/e88af223/attachment-0001.htm>


More information about the build mailing list