Module: kamailio
Branch: 5.1
Commit: 878c23cbef8d0d32035ed4f438c61da7a5ffc815
URL: 
https://github.com/kamailio/kamailio/commit/878c23cbef8d0d32035ed4f438c61da7a5ffc815

Author: lazedo <[email protected]>
Committer: Henning Westerholt <[email protected]>
Date: 2019-02-12T09:52:19+01:00

registrar : check xavp clone result

(cherry picked from commit adc4493fa6861895bdcf8b459e5fbc76e80d0f1f)

---

Modified: src/modules/registrar/lookup.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/878c23cbef8d0d32035ed4f438c61da7a5ffc815.diff
Patch: 
https://github.com/kamailio/kamailio/commit/878c23cbef8d0d32035ed4f438c61da7a5ffc815.patch

---

diff --git a/src/modules/registrar/lookup.c b/src/modules/registrar/lookup.c
index 84c0f40208..f012d690ab 100644
--- a/src/modules/registrar/lookup.c
+++ b/src/modules/registrar/lookup.c
@@ -394,7 +394,15 @@ int lookup_helper(struct sip_msg* _m, udomain_t* _d, str* 
_uri, int _mode)
 
                if(ptr->xavp!=NULL) {
                        xavp = xavp_clone_level_nodata(ptr->xavp);
-                       if(xavp_insert(xavp, 0, NULL)<0) {
+                       if(xavp != NULL) {
+                               if(xavp_insert(xavp, 0, NULL)<0) {
+                                       LM_ERR("error inserting xavp after 
clone\n");
+                                       xavp_destroy_list(&xavp);
+                                       ret = -3;
+                                       goto done;
+                               }
+                       } else {
+                               LM_ERR("error cloning xavp\n");
                                ret = -3;
                                goto done;
                        }
@@ -461,7 +469,15 @@ int lookup_helper(struct sip_msg* _m, udomain_t* _d, str* 
_uri, int _mode)
                        }
                        if(ptr->xavp!=NULL) {
                                xavp = xavp_clone_level_nodata(ptr->xavp);
-                               if(xavp_insert(xavp, nr_branches, NULL)<0) {
+                               if(xavp != NULL) {
+                                       if(xavp_insert(xavp, nr_branches, 
NULL)<0) {
+                                               LM_ERR("error inserting xavp 
after clone\n");
+                                               xavp_destroy_list(&xavp);
+                                               ret = -3;
+                                               goto done;
+                                       }
+                               } else {
+                                       LM_ERR("error cloning xavp\n");
                                        ret = -3;
                                        goto done;
                                }
@@ -784,10 +800,15 @@ int registered4(struct sip_msg* _m, udomain_t* _d, str* 
_uri, int match_flag,
 
                        if((ptr->xavp!=NULL) && (match_action_flag & 1)) {
                                sr_xavp_t *xavp = 
xavp_clone_level_nodata(ptr->xavp);
-                               if(xavp_add(xavp, NULL)<0) {
-                                       LM_ERR("error adding xavp for %.*s 
after successful match\n",
+                               if(xavp != NULL) {
+                                       if(xavp_add(xavp, NULL)<0) {
+                                               LM_ERR("error adding xavp for 
%.*s after successful match\n",
+                                                               aor.len, 
ZSW(aor.s));
+                                               xavp_destroy_list(&xavp);
+                                       }
+                               } else {
+                                       LM_ERR("error cloning xavp for %.*s 
after successful match\n",
                                                        aor.len, ZSW(aor.s));
-                                       xavp_destroy_list(&xavp);
                                }
                        }
 


_______________________________________________
Kamailio (SER) - Development Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to