Navigation


Changeset 1547:44bb63ba9c2c in freeDiameter for extensions


Ignore:
Timestamp:
Jun 16, 2020, 3:33:35 AM (4 years ago)
Author:
Thomas Klausner <tk@giga.or.at>
Branch:
default
Phase:
public
Message:

rt_rewrite: allocate object later to reduce cleanups

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/rt_rewrite/rt_rewrite.c

    r1424 r1547  
    398398        }
    399399
     400        if ((ret = fd_msg_parse_dict(*msg, fd_g_config->cnf_dict, NULL)) != 0) {
     401                fd_log_notice("%s: error parsing message", MODULE_NAME);
     402                pthread_rwlock_unlock(&rt_rewrite_lock);
     403                return ret;
     404        }
     405        if ((ret=fd_msg_browse(*msg, MSG_BRW_FIRST_CHILD, &avp, NULL)) != 0) {
     406                fd_log_notice("internal error: message has no child");
     407                pthread_rwlock_unlock(&rt_rewrite_lock);
     408                return ret;
     409        }
    400410        if ((store=store_new()) == NULL) {
    401411                fd_log_error("%s: malloc failure");
    402412                pthread_rwlock_unlock(&rt_rewrite_lock);
    403413                return ENOMEM;
    404         }
    405         if ((ret = fd_msg_parse_dict(*msg, fd_g_config->cnf_dict, NULL)) != 0) {
    406                 fd_log_notice("%s: error parsing message", MODULE_NAME);
    407                 free(store);
    408                 pthread_rwlock_unlock(&rt_rewrite_lock);
    409                 return ret;
    410         }
    411         if ((ret=fd_msg_browse(*msg, MSG_BRW_FIRST_CHILD, &avp, NULL)) != 0) {
    412                 fd_log_notice("internal error: message has no child");
    413                 free(store);
    414                 pthread_rwlock_unlock(&rt_rewrite_lock);
    415                 return ret;
    416414        }
    417415        if (replace_avps(*msg, avp, avp_match_start->children, store) != 0) {
Note: See TracChangeset for help on using the changeset viewer.