Jump to content
atsigler

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

Recommended Posts

Hello,

   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.

 

Andrey.

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.

 

Regards,

 

Torsten

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

×