Module: kamailio
Branch: 4.2
Commit: 3af67d8142691e89aa4f9d77898c5af4ba026cbf
URL: 
https://github.com/kamailio/kamailio/commit/3af67d8142691e89aa4f9d77898c5af4ba026cbf

Author: Stefan Mititelu <stefan.mitit...@1and1.ro>
Committer: Stefan Mititelu <stefan.mitit...@1and1.ro>
Date: 2015-11-03T16:52:03+02:00

uac: Sanity checks

Sanity checks for decode_uri(). Add NULL and len > 0 checks.
Segfault when vsf parameter was empty in the Route: header (e.g 'vsf=').

(cherry picked from commit d956f397c8cea4774e5941bdad8f76ecc44acdd5)

---

Modified: modules/uac/replace.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/3af67d8142691e89aa4f9d77898c5af4ba026cbf.diff
Patch: 
https://github.com/kamailio/kamailio/commit/3af67d8142691e89aa4f9d77898c5af4ba026cbf.patch

---

diff --git a/modules/uac/replace.c b/modules/uac/replace.c
index ccb2d46..bf54aad 100644
--- a/modules/uac/replace.c
+++ b/modules/uac/replace.c
@@ -142,6 +142,22 @@ static inline int decode_uri( str *src , str *dst)
        int i,j;
        signed char c;
 
+       /* sanity checks */
+       if (!src) {
+               LM_ERR("NULL src\n");
+               return -1;
+       }
+
+       if (!dst) {
+               LM_ERR("NULL dst\n");
+               return -1;
+       }
+
+       if (!src->s || src->len == 0) {
+               LM_ERR("empty src\n");
+               return -1;
+       }
+
        /* Count '-' at end and disregard them */
        for( n=0,i=src->len-1; src->s[i]=='-'; i--)
                n++;


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to