浏览代码

modules/ims_dialog: release lock on error condition

jaybeepee 9 年之前
父节点
当前提交
0a8062dfa0
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      modules/ims_dialog/dlg_hash.c

+ 1 - 0
modules/ims_dialog/dlg_hash.c

@@ -452,6 +452,7 @@ int dlg_set_leg_info(struct dlg_cell *dlg, str* tag, str *rr, str *contact,
                         dlg_out->callee_route_set.s = (char*) shm_malloc(rr->len);
                         dlg_out->callee_route_set.s = (char*) shm_malloc(rr->len);
                         if (!dlg_out->callee_route_set.s) {
                         if (!dlg_out->callee_route_set.s) {
                             LM_ERR("no more shm mem\n");
                             LM_ERR("no more shm mem\n");
+							lock_release(dlg->dlg_out_entries_lock);
                             return -1; //if we're out of mem we dont really care about cleaning up - prob going to crash anyway
                             return -1; //if we're out of mem we dont really care about cleaning up - prob going to crash anyway
                         }
                         }
                         dlg_out->callee_route_set.len = rr->len;
                         dlg_out->callee_route_set.len = rr->len;