-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to distinguish between types of DnsException #26
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Linux man 3 resolver says: Every call to res_ninit() requires a corresponding call to res_nclose() to free memory allocated by res_ninit() and subsequent calls to res_nquery().
withCResInit which makes sure that allocated resources get correctly released by wrapping actions following a successful call to c_res_init in finally handler.
This protects against asynchronous exceptions. If an asynchronous exception happens somewhere inside of rc1 <- c_res_opt_set_use_dnssec stptr unless (rc1 == 0) $ fail "res_init(3) failed" resetErrno then it may leak memory after successful call to res_ninit() inside c_res_opt_set_use_dnssec. Note that it is safe to run c_res_close stptr if all fields of stptr are memzeroed (which is our case before the call to res_ninit()): this means that wrapping the entire body of withCResInit is safe even if an asynchronous exception occurs before the call to res_ninit().
I don't know how to hide older commits :( |
Squashing cleaned it up! Should there be a changelog entry, maybe? |
Yes, i think that it makes sense to put this into the changelog for the next release, but this only change seems to be very minor to make a new release. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.