Jump to content

SystemC 2.3 - Bug in "void circular_buffer<T>::resize( int size )"

Recommended Posts


   There seems to be a bug in the "void circular_buffer<T>::resize( int size)" function in include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/circular_buffer.h


The line "buf_clear( m_buf, (m_ri + i) % size );" should be changed to:

buf_clear ( m_buf, (m_ri + i) % this->size() );


In the original code the "size" is set to the new array size, which is not valid for freeing buffers from the old array. I encountered a segmentation fault with the original code.



Share this post

Link to post
Share on other sites

Hello Andrey,


Thanks for reporting the bug! I will open an issue in the Language Working Group's bug tracker so that it will get fixed for the next proof-of-concept release.





Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now