diff --git a/server/TracySourceView.cpp b/server/TracySourceView.cpp index 17452707..5f91ff09 100644 --- a/server/TracySourceView.cpp +++ b/server/TracySourceView.cpp @@ -457,11 +457,10 @@ void SourceView::ParseSource( const char* fileName, const Worker& worker, const if( sz > m_dataSize ) { delete[] m_dataBuf; - m_dataBuf = new char[sz+1]; + m_dataBuf = new char[sz]; m_dataSize = sz; } fread( m_dataBuf, 1, sz, f ); - m_dataBuf[sz] = '\0'; m_data = m_dataBuf; fclose( f ); } @@ -483,7 +482,7 @@ void SourceView::ParseSource( const char* fileName, const Worker& worker, const end++; if( *end == '\n' ) end++; } - if( *end == '\0' ) break; + if( end - m_data == sz ) break; txt = end; } } diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index a3a1a2c1..6220074f 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -7404,11 +7404,10 @@ void Worker::CacheSource( const StringRef& str ) fseek( f, 0, SEEK_END ); const auto sz = ftell( f ); fseek( f, 0, SEEK_SET ); - auto src = (char*)m_slab.AllocBig( sz+1 ); + auto src = (char*)m_slab.AllocBig( sz ); fread( src, 1, sz, f ); - src[sz] = '\0'; fclose( f ); - m_data.sourceFileCache.emplace( file, MemoryBlock{ src, uint32_t( sz+1 ) } ); + m_data.sourceFileCache.emplace( file, MemoryBlock{ src, uint32_t( sz ) } ); } } }