<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>New Defects Reported - RTEMS-Tools</title>
<style>
body { font-family: Arial, sans-serif; color: #222; line-height: 1.6; }
.button {
display: inline-block;
padding: 10px 20px;
margin: 20px 0;
font-size: 16px;
color: #fff !important;
background-color: #0056b3;
text-decoration: none;
border-radius: 5px;
}
pre {
background: #f8f9fa;
padding: 10px;
border-radius: 5px;
font-size: 14px;
overflow-x: auto;
}
</style>
</head>
<body>
<p>Hi,</p>
<p>
Please find the latest report on new defect(s) introduced to <strong>RTEMS-Tools</strong>
found with Coverity Scan.
</p>
<ul>
<li><strong>New Defects Found:</strong> 3</li>
<li>
11 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
</li>
<li><strong>Defects Shown:</strong> Showing 3 of 3 defect(s)</li>
</ul>
<h3>Defect Details</h3>
<pre>
** 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 { }
</pre>
<p>
<a href="https://scan.coverity.com/projects/rtems-tools?tab=overview" class="button">View Defects in Coverity Scan</a>
</p>
<p>Best regards,</p>
<p>The Coverity Scan Admin Team</p>
<img class="logo" width="140" src="https://scan.coverity.com/assets/BlackDuckLogo-6697adc63e07340464201a2ad534d3d3e44f95d36edda20b140440d34f05372f.svg" />
</body>
</html>