]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fixed some error exit cleanup in app_queue.c.
authorRichard Mudgett <rmudgett@digium.com>
Wed, 29 Jun 2011 18:16:45 +0000 (18:16 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 29 Jun 2011 18:16:45 +0000 (18:16 +0000)
* Fixed error exit cleanup in app_queue.c copy_rules() and
reload_queue_rules().

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@325614 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index ac5d83d8ef449743f3d7b2653e5d945819a0ef49..66de657947fd0055f8e1016e36949e3869138c48 100644 (file)
@@ -1759,7 +1759,7 @@ static void clear_queue(struct call_queue *q)
  * \retval 0 on success 
  * \note Call this with the rule_lists locked 
 */
-static int insert_penaltychange (const char *list_name, const char *content, const int linenum)
+static int insert_penaltychange(const char *list_name, const char *content, const int linenum)
 {
        char *timestr, *maxstr, *minstr, *contentdup;
        struct penalty_rule *rule = NULL, *rule_iter;
@@ -5772,7 +5772,6 @@ static void copy_rules(struct queue_ent *qe, const char *rulename)
                        struct penalty_rule *new_pr = ast_calloc(1, sizeof(*new_pr));
                        if (!new_pr) {
                                ast_log(LOG_ERROR, "Memory allocation error when copying penalty rules! Aborting!\n");
-                               AST_LIST_UNLOCK(&rule_lists);
                                break;
                        }
                        new_pr->time = pr_iter->time;
@@ -6497,6 +6496,7 @@ static int reload_queue_rules(int reload)
        while ((rulecat = ast_category_browse(cfg, rulecat))) {
                if (!(new_rl = ast_calloc(1, sizeof(*new_rl)))) {
                        AST_LIST_UNLOCK(&rule_lists);
+                       ast_config_destroy(cfg);
                        return AST_MODULE_LOAD_FAILURE;
                } else {
                        ast_copy_string(new_rl->name, rulecat, sizeof(new_rl->name));