Module: kamailio
Branch: 4.4
Commit: b4cb65354de5ee0384926780594412deba358def
URL:
https://github.com/kamailio/kamailio/commit/b4cb65354de5ee0384926780594412d…
Author: lazedo <luis.azedo(a)factorlusitano.com>
Committer: Luis Azedo <luis(a)2600hz.com>
Date: 2017-06-02T14:21:33+01:00
htable: release pkg memory before returning
resets 'first' when esize == 0
(cherry picked from commit 2d771f563d19fccad0a28e56a5d99de571ef5da6)
---
Modified: modules/htable/ht_var.c
---
Diff:
https://github.com/kamailio/kamailio/commit/b4cb65354de5ee0384926780594412d…
Patch:
https://github.com/kamailio/kamailio/commit/b4cb65354de5ee0384926780594412d…
---
diff --git a/modules/htable/ht_var.c b/modules/htable/ht_var.c
index 36cceb4fb9..522811da58 100644
--- a/modules/htable/ht_var.c
+++ b/modules/htable/ht_var.c
@@ -48,17 +48,17 @@ int pv_get_ht_cell(struct sip_msg *msg, pv_param_t *param,
return -1;
}
htc = ht_cell_pkg_copy(hpv->ht, &htname, _htc_local);
+ if(_htc_local!=htc)
+ {
+ ht_cell_pkg_free(_htc_local);
+ _htc_local=htc;
+ }
if(htc==NULL)
{
if(hpv->ht->flags==PV_VAL_INT)
return pv_get_sintval(msg, param, res, hpv->ht->initval.n);
return pv_get_null(msg, param, res);
}
- if(_htc_local!=htc)
- {
- ht_cell_pkg_free(_htc_local);
- _htc_local=htc;
- }
if(htc->flags&AVP_VAL_STR)
return pv_get_strval(msg, param, res, &htc->value.s);
@@ -326,15 +326,15 @@ int pv_get_ht_add(struct sip_msg *msg, pv_param_t *param,
return -1;
}
htc = ht_cell_value_add(hpv->ht, &htname, val, 1, _htc_local);
- if(htc==NULL)
- {
- return pv_get_null(msg, param, res);
- }
if(_htc_local!=htc)
{
ht_cell_pkg_free(_htc_local);
_htc_local=htc;
}
+ if(htc==NULL)
+ {
+ return pv_get_null(msg, param, res);
+ }
if(htc->flags&AVP_VAL_STR)
return pv_get_null(msg, param, res);