New Defects reported by Coverity Scan for LibreOffice

scan-admin at coverity.com scan-admin at coverity.com
Mon Feb 20 10:17:27 UTC 2023


Hi,

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

53 new defect(s) introduced to LibreOffice found with Coverity Scan.


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


** CID 1521198:  Insecure data handling  (TAINTED_SCALAR)
/vcl/unx/generic/fontmanager/fontmanager.cxx: 254 in psp::PrintFontManager::analyzeFontFile(int, const rtl::OString &, const char *) const()


________________________________________________________________________________________________________
*** CID 1521198:  Insecure data handling  (TAINTED_SCALAR)
/vcl/unx/generic/fontmanager/fontmanager.cxx: 254 in psp::PrintFontManager::analyzeFontFile(int, const rtl::OString &, const char *) const()
248                     //https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy03K-2F9QL4mGS3H4UobiiNRB-2FzSYkBMAms3MjYB2IGSzKfAuqY0cYzepBSORwrEJCkA-3D-3DLZs8_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJifoBxogASetu34-2BU0UHBVuWY-2Bpxt9kEe94w0WJq2L7hWs1oVzVC92iVO8uClhrZftTsQVs-2BQ5miwAAMJvvndQgstSLBC86wZ32d6JypjiqmurtqACdlK-2BO4-2FeC41jmrQvBwT2pKGl7noBIWB37OAeGfxSzIToOMRfendVKu-2FYGxQ-3D
249                     const int nMaxFontsPossible = fileSize / 528;
250                     if (nLength > nMaxFontsPossible)
251                         nLength = nMaxFontsPossible;
252                 }
253     
>>>     CID 1521198:  Insecure data handling  (TAINTED_SCALAR)
>>>     Using tainted variable "nLength" as a loop boundary.
254                 for( int i = 0; i < nLength; i++ )
255                 {
256                     PrintFont aFont;
257                     aFont.m_nDirectory         = nDirID;
258                     aFont.m_aFontFile          = rFontFile;
259                     aFont.m_nCollectionEntry   = i;

** CID 1521197:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1521197:  Memory - corruptions  (OVERRUN)
/workdir/UnpackedTarball/harfbuzz/src/hb-aat-layout-morx-table.hh: 911 in AAT::ChainSubtable<AAT::ObsoleteTypes>::dispatch<hb_sanitize_context_t>(T1*, T2 &&...) const()
905       {
906         unsigned int subtable_type = get_type ();
907         TRACE_DISPATCH (this, subtable_type);
908         switch (subtable_type) {
909         case Rearrangement:		return_trace (c->dispatch (u.rearrangement, std::forward<Ts> (ds)...));
910         case Contextual:		return_trace (c->dispatch (u.contextual, std::forward<Ts> (ds)...));
>>>     CID 1521197:  Memory - corruptions  (OVERRUN)
>>>     Overrunning struct type _ZN3AAT16LigatureSubtableINS_13ObsoleteTypesEEE of 14 bytes by passing it to a function which accesses it at byte offset 27.
911         case Ligature:		return_trace (c->dispatch (u.ligature, std::forward<Ts> (ds)...));
912         case Noncontextual:		return_trace (c->dispatch (u.noncontextual, std::forward<Ts> (ds)...));
913         case Insertion:		return_trace (c->dispatch (u.insertion, std::forward<Ts> (ds)...));
914         default:			return_trace (c->default_return_value ());
915         }
916       }

** CID 1521196:    (USE_AFTER_FREE)
/vcl/unx/generic/glyphs/freetype_glyphcache.cxx: 328 in FreetypeFontFace::GetHbFace() const()
/vcl/unx/generic/glyphs/freetype_glyphcache.cxx: 328 in FreetypeFontFace::GetHbFace() const()


________________________________________________________________________________________________________
*** CID 1521196:    (USE_AFTER_FREE)
/vcl/unx/generic/glyphs/freetype_glyphcache.cxx: 328 in FreetypeFontFace::GetHbFace() const()
322         if (!mpHbFace)
323         {
324             auto* pFileName = mpFreetypeFontInfo->GetFontFileName().getStr();
325             auto nIndex = mpFreetypeFontInfo->GetFontFaceIndex();
326             hb_blob_t* pHbBlob = hb_blob_create_from_file(pFileName);
327             mpHbFace = hb_face_create(pHbBlob, nIndex);
>>>     CID 1521196:    (USE_AFTER_FREE)
>>>     Passing freed pointer "pHbBlob" as an argument to "hb_blob_destroy".
328             hb_blob_destroy(pHbBlob);
329         }
330         return mpHbFace;
331     }
332     
333     hb_blob_t* FreetypeFontFace::GetHbTable(hb_tag_t nTag) const
/vcl/unx/generic/glyphs/freetype_glyphcache.cxx: 328 in FreetypeFontFace::GetHbFace() const()
322         if (!mpHbFace)
323         {
324             auto* pFileName = mpFreetypeFontInfo->GetFontFileName().getStr();
325             auto nIndex = mpFreetypeFontInfo->GetFontFaceIndex();
326             hb_blob_t* pHbBlob = hb_blob_create_from_file(pFileName);
327             mpHbFace = hb_face_create(pHbBlob, nIndex);
>>>     CID 1521196:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "pHbBlob" which has already been freed.
328             hb_blob_destroy(pHbBlob);
329         }
330         return mpHbFace;
331     }
332     
333     hb_blob_t* FreetypeFontFace::GetHbTable(hb_tag_t nTag) const

** CID 1521195:  Error handling issues  (NEGATIVE_RETURNS)
/workdir/UnpackedTarball/harfbuzz/src/hb-blob.cc: 744 in hb_blob_create_from_file_or_fail()


________________________________________________________________________________________________________
*** CID 1521195:  Error handling issues  (NEGATIVE_RETURNS)
/workdir/UnpackedTarball/harfbuzz/src/hb-blob.cc: 744 in hb_blob_create_from_file_or_fail()
738       FILE *fp;
739       int nFD;
740       int n;
741       if (sscanf (file_name, "/:FD:/%d%n", &nFD, &n) == 1 && file_name[n] == '\0')
742       {
743         lseek (nFD, 0, SEEK_SET);
>>>     CID 1521195:  Error handling issues  (NEGATIVE_RETURNS)
>>>     "dup(nFD)" is passed to a parameter that cannot be negative.
744         fp = fdopen (dup (nFD), "rb");
745       }
746       else
747       {
748         fp = fopen (file_name, "rb");
749       }

** CID 1521194:    (ORDER_REVERSAL)


________________________________________________________________________________________________________
*** CID 1521194:    (ORDER_REVERSAL)
/sfx2/source/notify/eventsupplier.cxx: 85 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
79         }
80     
81         ::comphelper::NamedValueCollection aNormalizedDescriptor;
82         NormalizeMacro( aEventDescriptor, aNormalizedDescriptor, mpObjShell );
83     
84         OUString sType;
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "~OUString" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
85         if  (   ( aNormalizedDescriptor.size() == 1 )
86              &&  !aNormalizedDescriptor.has( PROP_EVENT_TYPE ) //TODO
87              &&  ( aNormalizedDescriptor.get( PROP_EVENT_TYPE ) >>= sType )
88              &&  ( sType.isEmpty() )
89             )
90         {
/sfx2/source/notify/eventsupplier.cxx: 85 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
79         }
80     
81         ::comphelper::NamedValueCollection aNormalizedDescriptor;
82         NormalizeMacro( aEventDescriptor, aNormalizedDescriptor, mpObjShell );
83     
84         OUString sType;
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "operator >>=" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
85         if  (   ( aNormalizedDescriptor.size() == 1 )
86              &&  !aNormalizedDescriptor.has( PROP_EVENT_TYPE ) //TODO
87              &&  ( aNormalizedDescriptor.get( PROP_EVENT_TYPE ) >>= sType )
88              &&  ( sType.isEmpty() )
89             )
90         {
/sfx2/source/notify/eventsupplier.cxx: 101 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
95             OSL_ENSURE( false, "legacy event assignment format detected" );
96             aNormalizedDescriptor.clear();
97         }
98     
99         if ( !aNormalizedDescriptor.empty() )
100         {
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "getPropertyValues" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
101             maEventData[nIndex] = aNormalizedDescriptor.getPropertyValues();
102         }
103         else
104         {
105             maEventData[nIndex] = {};
106         }
/sfx2/source/notify/eventsupplier.cxx: 105 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
99         if ( !aNormalizedDescriptor.empty() )
100         {
101             maEventData[nIndex] = aNormalizedDescriptor.getPropertyValues();
102         }
103         else
104         {
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "Sequence" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
105             maEventData[nIndex] = {};
106         }
107     }
108     
109     
110     //  --- XNameAccess ---
/sfx2/source/notify/eventsupplier.cxx: 96 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
90         {
91             // An empty event type means no binding. Therefore reset data
92             // to reflect that state.
93             // (that's for compatibility only. Nowadays, the Tools/Customize dialog should
94             // set an empty sequence to indicate the request for resetting the assignment.)
95             OSL_ENSURE( false, "legacy event assignment format detected" );
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "clear" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
96             aNormalizedDescriptor.clear();
97         }
98     
99         if ( !aNormalizedDescriptor.empty() )
100         {
101             maEventData[nIndex] = aNormalizedDescriptor.getPropertyValues();
/sfx2/source/notify/eventsupplier.cxx: 101 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
95             OSL_ENSURE( false, "legacy event assignment format detected" );
96             aNormalizedDescriptor.clear();
97         }
98     
99         if ( !aNormalizedDescriptor.empty() )
100         {
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "~Sequence" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
101             maEventData[nIndex] = aNormalizedDescriptor.getPropertyValues();
102         }
103         else
104         {
105             maEventData[nIndex] = {};
106         }
/sfx2/source/notify/eventsupplier.cxx: 105 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
99         if ( !aNormalizedDescriptor.empty() )
100         {
101             maEventData[nIndex] = aNormalizedDescriptor.getPropertyValues();
102         }
103         else
104         {
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "~Sequence" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
105             maEventData[nIndex] = {};
106         }
107     }
108     
109     
110     //  --- XNameAccess ---
/sfx2/source/notify/eventsupplier.cxx: 107 in SfxEvents_Impl::replaceByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
101             maEventData[nIndex] = aNormalizedDescriptor.getPropertyValues();
102         }
103         else
104         {
105             maEventData[nIndex] = {};
106         }
>>>     CID 1521194:    (ORDER_REVERSAL)
>>>     Calling "~OUString" acquires lock "_oslMutexImpl.mutex" while holding lock "std::unique_lock<std::mutex>._M_device" (count: 2 / 4).
107     }
108     
109     
110     //  --- XNameAccess ---
111     
112     uno::Any SAL_CALL SfxEvents_Impl::getByName( const OUString& aName )

** CID 1521193:  Memory - illegal accesses  (NEGATIVE_RETURNS)
/workdir/UnpackedTarball/harfbuzz/src/hb-icu.cc: 222 in hb_icu_unicode_decompose(hb_unicode_funcs_t *, unsigned int, unsigned int *, unsigned int *, void *)()


________________________________________________________________________________________________________
*** CID 1521193:  Memory - illegal accesses  (NEGATIVE_RETURNS)
/workdir/UnpackedTarball/harfbuzz/src/hb-icu.cc: 222 in hb_icu_unicode_decompose(hb_unicode_funcs_t *, unsigned int, unsigned int *, unsigned int *, void *)()
216     				    ARRAY_LENGTH (decomposed), &icu_err);
217       if (U_FAILURE (icu_err) || len < 0) return false;
218     
219       len = u_countChar32 (decomposed, len);
220       if (len == 1)
221       {
>>>     CID 1521193:  Memory - illegal accesses  (NEGATIVE_RETURNS)
>>>     Using negative constant "-1" as an index to array "decomposed".
222         U16_GET_UNSAFE (decomposed, 0, *a);
223         *b = 0;
224         return *a != ab;
225       }
226       else if (len == 2)
227       {

** CID 1521192:  Error handling issues  (NEGATIVE_RETURNS)
/vcl/source/fontsubset/sft.cxx: 1085 in vcl::CountTTCFonts(const char *)()


________________________________________________________________________________________________________
*** CID 1521192:  Error handling issues  (NEGATIVE_RETURNS)
/vcl/source/fontsubset/sft.cxx: 1085 in vcl::CountTTCFonts(const char *)()
1079     #ifdef LINUX
1080         int nFD;
1081         int n;
1082         if (sscanf(fname, "/:FD:/%d%n", &nFD, &n) == 1 && fname[n] == '\0')
1083         {
1084             lseek(nFD, 0, SEEK_SET);
>>>     CID 1521192:  Error handling issues  (NEGATIVE_RETURNS)
>>>     "dup(nFD)" is passed to a parameter that cannot be negative.
1085             fd = fdopen(dup(nFD), "rb");
1086         }
1087         else
1088     #endif
1089             fd = fopen(fname, "rb");
1090         if( fd ) {

** CID 1521191:    (UNINIT)


________________________________________________________________________________________________________
*** CID 1521191:    (UNINIT)
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, (bool)0>::realloc_vector<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->values.length" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<hb_set_t, (bool)0>::realloc_vector<hb_set_t, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->s.s.population" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, (bool)0>::realloc_vector<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->values.length" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<hb_set_t, (bool)0>::realloc_vector<hb_set_t, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->s.s.population" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<hb_set_t, (bool)0>::realloc_vector<hb_set_t, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->s.s.successful" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<CFF::cff2_font_dict_values_t, (bool)0>::realloc_vector<CFF::cff2_font_dict_values_t, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->values.length" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;
/workdir/UnpackedTarball/harfbuzz/src/hb-vector.hh: 249 in hb_vector_t<CFF::cff1_font_dict_values_t, (bool)0>::realloc_vector<CFF::cff1_font_dict_values_t, (void *)0>(unsigned int)()
243         Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type));
244         if (likely (new_array))
245         {
246           for (unsigned i = 0; i < length; i++)
247           {
248     	new (std::addressof (new_array[i])) Type ();
>>>     CID 1521191:    (UNINIT)
>>>     Using uninitialized value "(new_array + i)->values.length" when calling "operator =".
249     	new_array[i] = std::move (arrayZ[i]);
250     	arrayZ[i].~Type ();
251           }
252           hb_free (arrayZ);
253         }
254         return new_array;

** CID 1521190:  Memory - corruptions  (USE_AFTER_FREE)
/vcl/source/gdi/pdfwriter_impl.cxx: 6267 in vcl::PDFWriterImpl::registerGlyph(unsigned int, const vcl::font::PhysicalFontFace *, const LogicalFontInstance *, const std::vector<char16_t, std::allocator<char16_t>> &, int, unsigned char &, int &)()


________________________________________________________________________________________________________
*** CID 1521190:  Memory - corruptions  (USE_AFTER_FREE)
/vcl/source/gdi/pdfwriter_impl.cxx: 6267 in vcl::PDFWriterImpl::registerGlyph(unsigned int, const vcl::font::PhysicalFontFace *, const LogicalFontInstance *, const std::vector<char16_t, std::allocator<char16_t>> &, int, unsigned char &, int &)()
6261     
6262                     // add new glyph to font mapping
6263                     Glyph& rNewGlyph = rSubset.m_aMapping[nFontGlyphId];
6264                     rNewGlyph.m_nFontID = nMappedFontObject;
6265                     rNewGlyph.m_nSubsetGlyphID = nNewId;
6266                 }
>>>     CID 1521190:  Memory - corruptions  (USE_AFTER_FREE)
>>>     Calling "~RawFontData" frees pointer "aBitmap.mpBlob" which has already been freed.
6267                 return;
6268             }
6269         }
6270     
6271         // If we reach here then the glyph has no color layers.
6272         registerSimpleGlyph(nFontGlyphId, pFace, rCodeUnits, nGlyphWidth, nMappedGlyph,

** CID 1521189:  Error handling issues  (CHECKED_RETURN)
/workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc: 195 in hb_shape()


________________________________________________________________________________________________________
*** CID 1521189:  Error handling issues  (CHECKED_RETURN)
/workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc: 195 in hb_shape()
189     void
190     hb_shape (hb_font_t           *font,
191     	  hb_buffer_t         *buffer,
192     	  const hb_feature_t  *features,
193     	  unsigned int         num_features)
194     {
>>>     CID 1521189:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "hb_shape_full" without checking return value (as is done elsewhere 4 out of 5 times).
195       hb_shape_full (font, buffer, features, num_features, nullptr);
196     }
197     
198     

** CID 1521188:  Uninitialized variables  (UNINIT)


________________________________________________________________________________________________________
*** CID 1521188:  Uninitialized variables  (UNINIT)
/extensions/source/update/check/updatecheck.cxx: 666 in <unnamed>::DownloadThread::run()()
660     
661                     if( n < SAL_N_ELEMENTS(nRetryInterval) )
662                         ++n;
663     
664                     tv.Seconds = nRetryInterval[n-1];
665                 }
>>>     CID 1521188:  Uninitialized variables  (UNINIT)
>>>     Using uninitialized value "tv.Nanosec" when calling "wait".
666                 m_aCondition.wait(&tv);
667             }
668             else
669             {
670                 // reset wait period after successful download
671                 n=0;

** CID 1521187:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1521187:  Memory - corruptions  (OVERRUN)
/workdir/UnpackedTarball/harfbuzz/src/hb-aat-layout-morx-table.hh: 913 in AAT::ChainSubtable<AAT::ObsoleteTypes>::dispatch<hb_sanitize_context_t>(T1*, T2 &&...) const()
907         TRACE_DISPATCH (this, subtable_type);
908         switch (subtable_type) {
909         case Rearrangement:		return_trace (c->dispatch (u.rearrangement, std::forward<Ts> (ds)...));
910         case Contextual:		return_trace (c->dispatch (u.contextual, std::forward<Ts> (ds)...));
911         case Ligature:		return_trace (c->dispatch (u.ligature, std::forward<Ts> (ds)...));
912         case Noncontextual:		return_trace (c->dispatch (u.noncontextual, std::forward<Ts> (ds)...));
>>>     CID 1521187:  Memory - corruptions  (OVERRUN)
>>>     Overrunning struct type _ZN3AAT17InsertionSubtableINS_13ObsoleteTypesEEE of 10 bytes by passing it to a function which accesses it at byte offset 19.
913         case Insertion:		return_trace (c->dispatch (u.insertion, std::forward<Ts> (ds)...));
914         default:			return_trace (c->default_return_value ());
915         }
916       }
917     
918       bool apply (hb_aat_apply_context_t *c) const

** CID 1518616:  Control flow issues  (UNREACHABLE)
/workdir/UnpackedTarball/harfbuzz/src/hb-algs.hh: 885 in hb_unsigned_mul_overflows(unsigned int, unsigned int, unsigned int *)()


________________________________________________________________________________________________________
*** CID 1518616:  Control flow issues  (UNREACHABLE)
/workdir/UnpackedTarball/harfbuzz/src/hb-algs.hh: 885 in hb_unsigned_mul_overflows(unsigned int, unsigned int, unsigned int *)()
879       unsigned stack_result;
880       if (!result)
881         result = &stack_result;
882       return __builtin_mul_overflow (count, size, result);
883     #endif
884     
>>>     CID 1518616:  Control flow issues  (UNREACHABLE)
>>>     This code cannot be reached: "if (result)
  *result = cou...".
885       if (result)
886         *result = count * size;
887       return (size > 0) && (count >= ((unsigned int) -1) / size);
888     }
889     
890     

** CID 1515939:  Performance inefficiencies  (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/hb-face.cc: 682 in _hb_face_builder_data_destroy(void *)()


________________________________________________________________________________________________________
*** CID 1515939:  Performance inefficiencies  (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/hb-face.cc: 682 in _hb_face_builder_data_destroy(void *)()
676     
677     static void
678     _hb_face_builder_data_destroy (void *user_data)
679     {
680       hb_face_builder_data_t *data = (hb_face_builder_data_t *) user_data;
681     
>>>     CID 1515939:  Performance inefficiencies  (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type face_table_info_t.
682       for (auto info : data->tables.values())
683         hb_blob_destroy (info.data);
684     
685       data->tables.fini ();
686     
687       hb_free (data);

** CID 1515938:  Performance inefficiencies  (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/hb-face.cc: 697 in _hb_face_builder_data_reference_blob(hb_face_builder_data_t *)()


________________________________________________________________________________________________________
*** CID 1515938:  Performance inefficiencies  (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/hb-face.cc: 697 in _hb_face_builder_data_reference_blob(hb_face_builder_data_t *)()
691     _hb_face_builder_data_reference_blob (hb_face_builder_data_t *data)
692     {
693     
694       unsigned int table_count = data->tables.get_population ();
695       unsigned int face_length = table_count * 16 + 12;
696     
>>>     CID 1515938:  Performance inefficiencies  (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type face_table_info_t.
697       for (auto info : data->tables.values())
698         face_length += hb_ceil_to_4 (hb_blob_get_length (info.data));
699     
700       char *buf = (char *) hb_malloc (face_length);
701       if (unlikely (!buf))
702         return nullptr;

** CID 1513074:    (USE_AFTER_MOVE)
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::List16OfOffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, (unsigned int)2>> *, unsigned int>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainContextFormat1_4<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ContextFormat2_5<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::ClipRecord, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::ClipList *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::MathKernInfoRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::MathKernInfo *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainContextFormat3 *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::MathValueRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::MathTopAccentAttachment *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainContextFormat2_5<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BaseGlyphPaintRecord, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::BaseGlyphList *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::VariationSelectorRecord, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::CmapSubtableFormat14 *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::Layout::GPOS_impl::MarkRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GPOS_impl::MarkArray *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, (unsigned int)4>, (bool)1>, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::sbix *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BaseScriptRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::BaseScriptList *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::BaseValues *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::RuleSet<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BitmapSizeTable, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::CBLC *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> *, OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>::sanitize_closure_t *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ContextFormat1_4<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, (unsigned int)4>, (bool)1>, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::LayerList *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainRuleSet<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::FeatMinMaxRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::MinMax *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::EncodingRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::cmap *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1 *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<CFF::FDSelect3_4_Range<OT::IntType<unsigned int, (unsigned int)4>, OT::IntType<unsigned short, (unsigned int)2>>, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<std::nullptr_t, unsigned int &>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BaseLangSysRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::BaseScript *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<CFF::FDSelect3_4_Range<OT::IntType<unsigned short, (unsigned int)2>, OT::IntType<unsigned char, (unsigned int)1>>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<std::nullptr_t, unsigned int &>(hb_sanitize_context_t *, T1 &&...) const()
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::Layout::GPOS_impl::EntryExitRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GPOS_impl::CursivePosFormat1 *>(hb_sanitize_context_t *, T1 &&...) const()


________________________________________________________________________________________________________
*** CID 1513074:    (USE_AFTER_MOVE)
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::List16OfOffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, (unsigned int)2>> *, unsigned int>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainContextFormat1_4<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ContextFormat2_5<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::ClipRecord, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::ClipList *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::MathKernInfoRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::MathKernInfo *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainContextFormat3 *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::MathValueRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::MathTopAccentAttachment *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainContextFormat2_5<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BaseGlyphPaintRecord, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::BaseGlyphList *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::VariationSelectorRecord, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::CmapSubtableFormat14 *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::Layout::GPOS_impl::MarkRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GPOS_impl::MarkArray *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, (unsigned int)4>, (bool)1>, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::sbix *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BaseScriptRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::BaseScriptList *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::BaseValues *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::RuleSet<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BitmapSizeTable, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::CBLC *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> *, OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>::sanitize_closure_t *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ContextFormat1_4<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, (unsigned int)4>, (bool)1>, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<const OT::LayerList *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::ChainRuleSet<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::FeatMinMaxRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::MinMax *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::EncodingRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::cmap *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1 *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<CFF::FDSelect3_4_Range<OT::IntType<unsigned int, (unsigned int)4>, OT::IntType<unsigned short, (unsigned int)2>>, OT::IntType<unsigned int, (unsigned int)4>>::sanitize<std::nullptr_t, unsigned int &>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::BaseLangSysRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::BaseScript *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, (unsigned int)2>, (bool)1>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<CFF::FDSelect3_4_Range<OT::IntType<unsigned short, (unsigned int)2>, OT::IntType<unsigned char, (unsigned int)1>>, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<std::nullptr_t, unsigned int &>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const
/workdir/UnpackedTarball/harfbuzz/src/hb-open-type.hh: 729 in OT::ArrayOf<OT::Layout::GPOS_impl::EntryExitRecord, OT::IntType<unsigned short, (unsigned int)2>>::sanitize<const OT::Layout::GPOS_impl::CursivePosFormat1 *>(hb_sanitize_context_t *, T1 &&...) const()
723       {
724         TRACE_SANITIZE (this);
725         if (unlikely (!sanitize_shallow (c))) return_trace (false);
726         if (!sizeof... (Ts) && hb_is_trivially_copyable(Type)) return_trace (true);
727         unsigned int count = len;
728         for (unsigned int i = 0; i < count; i++)
>>>     CID 1513074:    (USE_AFTER_MOVE)
>>>     "ds" is used after it has been already moved.
729           if (unlikely (!c->dispatch (arrayZ[i], std::forward<Ts> (ds)...)))
730     	return_trace (false);
731         return_trace (true);
732       }
733     
734       bool sanitize_shallow (hb_sanitize_context_t *c) const

** CID 1513058:    (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 85 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_sorted_array_t<const OT::HBGlyphID16>, (void *)0>(hb_serialize_context_t *, T1)()
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 98 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_sorted_array_t<const OT::HBGlyphID16>, (void *)0>(hb_serialize_context_t *, T1)()
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 85 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_map_iter_t<hb_zip_iter_t<hb_sorted_array_t<OT::HBGlyphID16>, hb_array_t<OT::HBGlyphID16>>, const [unnamed type of 'hb_first'] &, (hb_function_sortedness_t)1, (void *)0>, (void *)0>(hb_serialize_context_t *, T1)()
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 98 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_map_iter_t<hb_zip_iter_t<hb_sorted_array_t<OT::HBGlyphID16>, hb_array_t<OT::HBGlyphID16>>, const [unnamed type of 'hb_first'] &, (hb_function_sortedness_t)1, (void *)0>, (void *)0>(hb_serialize_context_t *, T1)()


________________________________________________________________________________________________________
*** CID 1513058:    (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 85 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_sorted_array_t<const OT::HBGlyphID16>, (void *)0>(hb_serialize_context_t *, T1)()
79       {
80         TRACE_SERIALIZE (this);
81         if (unlikely (!c->extend_min (this))) return_trace (false);
82     
83         unsigned num_ranges = 0;
84         hb_codepoint_t last = (hb_codepoint_t) -2;
>>>     CID 1513058:    (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type HBGlyphID16.
85         for (auto g: glyphs)
86         {
87           if (last + 1 != g)
88             num_ranges++;
89           last = g;
90         }
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 98 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_sorted_array_t<const OT::HBGlyphID16>, (void *)0>(hb_serialize_context_t *, T1)()
92         if (unlikely (!rangeRecord.serialize (c, num_ranges))) return_trace (false);
93         if (!num_ranges) return_trace (true);
94     
95         unsigned count = 0;
96         unsigned range = (unsigned) -1;
97         last = (hb_codepoint_t) -2;
>>>     CID 1513058:    (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type HBGlyphID16.
98         for (auto g: glyphs)
99         {
100           if (last + 1 != g)
101           {
102             range++;
103             rangeRecord[range].first = g;
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 85 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_map_iter_t<hb_zip_iter_t<hb_sorted_array_t<OT::HBGlyphID16>, hb_array_t<OT::HBGlyphID16>>, const [unnamed type of 'hb_first'] &, (hb_function_sortedness_t)1, (void *)0>, (void *)0>(hb_serialize_context_t *, T1)()
79       {
80         TRACE_SERIALIZE (this);
81         if (unlikely (!c->extend_min (this))) return_trace (false);
82     
83         unsigned num_ranges = 0;
84         hb_codepoint_t last = (hb_codepoint_t) -2;
>>>     CID 1513058:    (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type HBGlyphID16.
85         for (auto g: glyphs)
86         {
87           if (last + 1 != g)
88             num_ranges++;
89           last = g;
90         }
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh: 98 in OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>::serialize<hb_map_iter_t<hb_zip_iter_t<hb_sorted_array_t<OT::HBGlyphID16>, hb_array_t<OT::HBGlyphID16>>, const [unnamed type of 'hb_first'] &, (hb_function_sortedness_t)1, (void *)0>, (void *)0>(hb_serialize_context_t *, T1)()
92         if (unlikely (!rangeRecord.serialize (c, num_ranges))) return_trace (false);
93         if (!num_ranges) return_trace (true);
94     
95         unsigned count = 0;
96         unsigned range = (unsigned) -1;
97         last = (hb_codepoint_t) -2;
>>>     CID 1513058:    (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type HBGlyphID16.
98         for (auto g: glyphs)
99         {
100           if (last + 1 != g)
101           {
102             range++;
103             rangeRecord[range].first = g;

** CID 1513048:  Performance inefficiencies  (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/hb-map.hh: 300 in hb_hashmap_t<unsigned int, unsigned int, (bool)1>::is_equal(const hb_hashmap_t<unsigned int, unsigned int, (bool)1>&) const()


________________________________________________________________________________________________________
*** CID 1513048:  Performance inefficiencies  (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/hb-map.hh: 300 in hb_hashmap_t<unsigned int, unsigned int, (bool)1>::is_equal(const hb_hashmap_t<unsigned int, unsigned int, (bool)1>&) const()
294       }
295     
296       bool is_equal (const hb_hashmap_t &other) const
297       {
298         if (population != other.population) return false;
299     
>>>     CID 1513048:  Performance inefficiencies  (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type hb_pair_t.
300         for (auto pair : iter ())
301           if (other.get (pair.first) != pair.second)
302             return false;
303     
304         return true;
305       }

** CID 1513044:    (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/Coverage.hh: 119 in OT::Layout::Common::Coverage::serialize<hb_sorted_array_t<const OT::HBGlyphID16>, (void *)0>(hb_serialize_context_t *, T1)()
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/Coverage.hh: 119 in OT::Layout::Common::Coverage::serialize<hb_map_iter_t<hb_zip_iter_t<hb_sorted_array_t<OT::HBGlyphID16>, hb_array_t<OT::HBGlyphID16>>, const [unnamed type of 'hb_first'] &, (hb_function_sortedness_t)1, (void *)0>, (void *)0>(hb_serialize_context_t *, T1)()


________________________________________________________________________________________________________
*** CID 1513044:    (AUTO_CAUSES_COPY)
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/Coverage.hh: 119 in OT::Layout::Common::Coverage::serialize<hb_sorted_array_t<const OT::HBGlyphID16>, (void *)0>(hb_serialize_context_t *, T1)()
113         TRACE_SERIALIZE (this);
114         if (unlikely (!c->extend_min (this))) return_trace (false);
115     
116         unsigned count = 0;
117         unsigned num_ranges = 0;
118         hb_codepoint_t last = (hb_codepoint_t) -2;
>>>     CID 1513044:    (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type HBGlyphID16.
119         for (auto g: glyphs)
120         {
121           if (last + 1 != g)
122             num_ranges++;
123           last = g;
124           count++;
/workdir/UnpackedTarball/harfbuzz/src/OT/Layout/Common/Coverage.hh: 119 in OT::Layout::Common::Coverage::serialize<hb_map_iter_t<hb_zip_iter_t<hb_sorted_array_t<OT::HBGlyphID16>, hb_array_t<OT::HBGlyphID16>>, const [unnamed type of 'hb_first'] &, (hb_function_sortedness_t)1, (void *)0>, (void *)0>(hb_serialize_context_t *, T1)()
113         TRACE_SERIALIZE (this);
114         if (unlikely (!c->extend_min (this))) return_trace (false);
115     
116         unsigned count = 0;
117         unsigned num_ranges = 0;
118         hb_codepoint_t last = (hb_codepoint_t) -2;
>>>     CID 1513044:    (AUTO_CAUSES_COPY)
>>>     Using the "auto" keyword without an "&" causes the copy of an object of type HBGlyphID16.
119         for (auto g: glyphs)
120         {
121           if (last + 1 != g)
122             num_ranges++;
123           last = g;
124           count++;

** CID 1513041:    (USE_AFTER_FREE)
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::hhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::hhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR>>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR>>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::loca>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::kerx>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::morx>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::STAT>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR>>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR>>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::HVAR>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::kerx>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::loca>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::HVAR>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::hhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::Layout::GPOS>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::glyf>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::STAT>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::ankr>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::glyf>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::STAT>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::Layout::GSUB>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::HVAR>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()


________________________________________________________________________________________________________
*** CID 1513041:    (USE_AFTER_FREE)
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::hhea>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::hhea>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR>>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR>>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::loca>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::kerx>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::morx>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::STAT>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR>>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::cff2>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR>>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::HVAR>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::kerx>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::loca>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::HVAR>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::cmap>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::hhea>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::Layout::GPOS>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::post>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::OpenTypeFontFile>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::glyf>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::BASE>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::vhea>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::STAT>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<AAT::trak>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::kern>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::ankr>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::glyf>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<AAT::ltag>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::STAT>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::cff1>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 346 in hb_sanitize_context_t::sanitize_blob<OT::Layout::GSUB>(hb_blob_t *)()
340     
341         start_processing ();
342     
343         if (unlikely (!start))
344         {
345           end_processing ();
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Using freed pointer "blob".
346           return blob;
347         }
348     
349         Type *t = reinterpret_cast<Type *> (const_cast<char *> (start));
350     
351         sane = t->sanitize (this);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::OS2>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::HVAR>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::maxp>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Calling "hb_blob_destroy" frees pointer "blob" which has already been freed.
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::MATH>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 393 in hb_sanitize_context_t::sanitize_blob<OT::GDEF>(hb_blob_t *)()
387         {
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_destroy".
393           hb_blob_destroy (blob);
394           return hb_blob_get_empty ();
395         }
396       }
397     
398       template <typename Type>
/workdir/UnpackedTarball/harfbuzz/src/hb-sanitize.hh: 388 in hb_sanitize_context_t::sanitize_blob<OT::name>(hb_blob_t *)()
382     
383         end_processing ();
384     
385         DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED");
386         if (sane)
387         {
>>>     CID 1513041:    (USE_AFTER_FREE)
>>>     Passing freed pointer "blob" as an argument to "hb_blob_make_immutable".
388           hb_blob_make_immutable (blob);
389           return blob;
390         }
391         else
392         {
393           hb_blob_destroy (blob);


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypSs1kiFPuCn2xFdlMIFBirii0zZ9j2-2F9F2XPBcBm2BNgi9duPy3v-2FzgFDd2LJ-2BDKI-3Dl9r3_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJifoBxogASetu34-2BU0UHBVuUSIk4QSdpefpBaleEzFI7TeAeIcuk00dcKJJ-2BJDCzzDJyfYcBE9oMN-2BVnq7hnnwp10QaHtoY9IbhD2Xrv16uQd9tXr93Oy-2Fp2AyT6bGGM-2BpupFwMeCWyDBjwMDrZbiDQVxRE6wMkWHQ2Bb4G3b3z4I-3D



More information about the LibreOffice mailing list