Hi @blechschmidt
Thanks for including our PR #116 and supporting dedicated resolvers per request.
I was busy with other stuff, so I noticed the merge only lately.
And now, during testing your new code I found a bug with the dedicated resolvers feature (probably introduced by supporting multiple types):
The previous array of resolvers is not reset, so the array is extended for every query. Also, there is a malloc/free problem due to this multi-usage of the dedicated resolvers.
Linux:
free(): corrupted unsorted chunks
macOS:
massdns(11933,0x113e75600) malloc: Incorrect checksum for freed object 0x7fcc167045f8: probably modified after being freed.
Corrupt value: 0xafffffffffffffff
massdns(11933,0x113e75600) malloc: *** set a breakpoint in malloc_error_break to debug
Hi @blechschmidt Thanks for including our PR #116 and supporting dedicated resolvers per request. I was busy with other stuff, so I noticed the merge only lately. And now, during testing your new code I found a bug with the dedicated resolvers feature (probably introduced by supporting multiple types): The previous array of resolvers is not reset, so the array is extended for every query. Also, there is a malloc/free problem due to this multi-usage of the dedicated resolvers.
Linux:
macOS:
A simple test to reproduce:
resolvers file:
Expectation:
for
I created a PR to fix the bug including the test case: #125