mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-04 13:57:31 -07:00
Fix crash caused by unloading or reloading of res_http_post
When unlinking itself from the registered HTTP URIs, res_http_post could inadvertently free all URIs registered with the HTTP server. This patch modifies the unregister method to only free the URI that is actually being unregistered, as opposed to all of them. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
+6
-6
@@ -582,12 +582,12 @@ void ast_http_uri_unlink_all_with_key(const char *key)
|
||||
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&uris, urih, entry) {
|
||||
if (!strcmp(urih->key, key)) {
|
||||
AST_RWLIST_REMOVE_CURRENT(entry);
|
||||
}
|
||||
if (urih->dmallocd) {
|
||||
ast_free(urih->data);
|
||||
}
|
||||
if (urih->mallocd) {
|
||||
ast_free(urih);
|
||||
if (urih->dmallocd) {
|
||||
ast_free(urih->data);
|
||||
}
|
||||
if (urih->mallocd) {
|
||||
ast_free(urih);
|
||||
}
|
||||
}
|
||||
}
|
||||
AST_RWLIST_TRAVERSE_SAFE_END;
|
||||
|
||||
Reference in New Issue
Block a user