New Defects reported by Coverity Scan for LibreOffice

scan-admin at coverity.com scan-admin at coverity.com
Thu Aug 30 15:25:06 UTC 2018


Hi,

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

2 new defect(s) introduced to LibreOffice found with Coverity Scan.
7 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 2 of 2 defect(s)


** CID 1438872:    (UNUSED_VALUE)
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>&, unsigned long)()
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>&, unsigned long)()


________________________________________________________________________________________________________
*** CID 1438872:    (UNUSED_VALUE)
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>&, unsigned long)()
1875             // Copy to the top part of destination block.
1876             if (len < blk_dest->m_size)
1877             {
1878                 // Shrink the existing block and insert slots for new blocks before it.
1879                 blk_dest->m_size -= len;
1880                 dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1881                 blk_dest = &dest.m_blocks[dest_block_index+block_len];
1882             }
1883             else
1884             {
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)50, SvtBroadcaster>>, mdds::detail::mtv::event_func>&, unsigned long)()
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
1887                 blk_dest->m_size = 0;
1888                 if (block_len > 1)
1889                 {
1890                     dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len-1, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len - 1UL]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1891                     blk_dest = &dest.m_blocks[dest_block_index+block_len-1];
1892                 }
1893             }
1894         }
1895         else if (dest_pos_in_block + len - 1 == it_dest_blk->size - 1)
1896         {
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>&, unsigned long)()
1875             // Copy to the top part of destination block.
1876             if (len < blk_dest->m_size)
1877             {
1878                 // Shrink the existing block and insert slots for new blocks before it.
1879                 blk_dest->m_size -= len;
1880                 dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1881                 blk_dest = &dest.m_blocks[dest_block_index+block_len];
1882             }
1883             else
1884             {
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::noncopyable_managed_element_block<(int)55, ScPostIt>>, mdds::detail::mtv::event_func>&, unsigned long)()
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
1887                 blk_dest->m_size = 0;
1888                 if (block_len > 1)
1889                 {
1890                     dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len-1, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len - 1UL]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1891                     blk_dest = &dest.m_blocks[dest_block_index+block_len-1];
1892                 }
1893             }
1894         }
1895         else if (dest_pos_in_block + len - 1 == it_dest_blk->size - 1)
1896         {
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>&, unsigned long)()
1875             // Copy to the top part of destination block.
1876             if (len < blk_dest->m_size)
1877             {
1878                 // Shrink the existing block and insert slots for new blocks before it.
1879                 blk_dest->m_size -= len;
1880                 dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1881                 blk_dest = &dest.m_blocks[dest_block_index+block_len];
1882             }
1883             else
1884             {
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<(int)52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<(int)53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<(int)54, ScFormulaCell>>, sc::CellStoreEvent>&, unsigned long)()
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
1887                 blk_dest->m_size = 0;
1888                 if (block_len > 1)
1889                 {
1890                     dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len-1, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len - 1UL]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1891                     blk_dest = &dest.m_blocks[dest_block_index+block_len-1];
1892                 }
1893             }
1894         }
1895         else if (dest_pos_in_block + len - 1 == it_dest_blk->size - 1)
1896         {
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1881 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>&, unsigned long)()
1875             // Copy to the top part of destination block.
1876             if (len < blk_dest->m_size)
1877             {
1878                 // Shrink the existing block and insert slots for new blocks before it.
1879                 blk_dest->m_size -= len;
1880                 dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1881                 blk_dest = &dest.m_blocks[dest_block_index+block_len];
1882             }
1883             else
1884             {
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
/usr/include/mdds-1.4/mdds/multi_type_vector_def.inl: 1891 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>::transfer_multi_blocks(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, mdds::multi_type_vector<mdds::mtv::custom_block_func1<mdds::mtv::default_element_block<(int)51, sc::CellTextAttr>>, mdds::detail::mtv::event_func>&, unsigned long)()
1885                 // Destination block is exactly of the length of the elements being transferred.
1886                 dest.delete_element_block(*blk_dest);
1887                 blk_dest->m_size = 0;
1888                 if (block_len > 1)
1889                 {
1890                     dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index, block_len-1, block());
>>>     CID 1438872:    (UNUSED_VALUE)
>>>     Assigning value from "dest.m_blocks[dest_block_index + block_len - 1UL]" to "blk_dest" here, but that stored value is overwritten before it can be used.
1891                     blk_dest = &dest.m_blocks[dest_block_index+block_len-1];
1892                 }
1893             }
1894         }
1895         else if (dest_pos_in_block + len - 1 == it_dest_blk->size - 1)
1896         {

** CID 1438870:  Performance inefficiencies  (PASS_BY_VALUE)
/usr/include/mdds-1.4/mdds/multi_type_matrix_def.inl: 697 in mdds::multi_type_matrix<matrix_trait>::walk<<unnamed>::WalkElementBlockOperation>(T1, const mdds::multi_type_matrix<matrix_trait>::size_pair_type &, const mdds::multi_type_matrix<matrix_trait>::size_pair_type &) const()


________________________________________________________________________________________________________
*** CID 1438870:  Performance inefficiencies  (PASS_BY_VALUE)
/usr/include/mdds-1.4/mdds/multi_type_matrix_def.inl: 697 in mdds::multi_type_matrix<matrix_trait>::walk<<unnamed>::WalkElementBlockOperation>(T1, const mdds::multi_type_matrix<matrix_trait>::size_pair_type &, const mdds::multi_type_matrix<matrix_trait>::size_pair_type &) const()
691         return func;
692     }
693     
694     template<typename _MtxTrait>
695     template<typename _Func>
696     _Func multi_type_matrix<_MtxTrait>::walk(
>>>     CID 1438870:  Performance inefficiencies  (PASS_BY_VALUE)
>>>     Passing parameter func of type "<unnamed>::WalkElementBlockOperation" (size 152 bytes) by value.
697         _Func func, const size_pair_type& start, const size_pair_type& end) const
698     {
699         if (end.row < start.row || end.column < start.column)
700         {
701             std::ostringstream os;
702             os << "multi_type_matrix: invalid start/end position pair: (row="


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRZBnDJeNb0HijxaS4JNJPxk3kpyAm2AYqo71yXmnOxB72ibeUH-2F-2F1Lhi9AZq3dRu-2F4-3D_g-2BrHdvqzaBa155F-2F8AmPhpJzY63UzWDisJV95WUBpGhqFw1ICExHG8aMaV2EoFpy7lOZf4lT4OEROn-2BPSKCaGYKMAMRGuggaZEoU0hfY3PkrRHhqoavADvMW9QNKpTVWbSKj0odmwjZaXaB7wg9JbNYYPo-2Fk02U74nd0P1cdyk51X3So11Jn0rK4Ki3k4-2BZjBewmnkrw9EAyp4hIeOJJTQ0A3Q48NLNtTd9eEsvKZZM-3D



More information about the LibreOffice mailing list