Closed GoesM closed 1 month ago
Does this actually fix the issue? Isn't the laser scanner still able to process scans while parameters are changing? I thought you were going to reset it at the start of the callback and always reset the message filter
I‘m so sorry for any confusion caused by my previous description.
The following statement may be more clear:
After such dynamic parameters change, because of the lack of scan_filter_.reset()
before initMessageFilters()
, the scan_filter_
is still running even after scan_sub_.reset()
.
BUT based on the definition of scan_filter_
, it would access the freed pointer scan_sub_
:
so that , the use-after-free bug occurs.
So what I did was add this missing code.
Got it! It may have been that you described it right and I just jumped the gun (I've been known to do that) thinking I knew where you were going with that. Thanks!
Basic Info
Description of contribution in a few bullet points
laser_scan_filter_
before reinit itFuture work that may be required in bullet points
For Maintainers: