[sr-dev] git:4.3:a56e5980: uac: Sanity checks

Stefan Mititelu stefan.mititelu at 1and1.ro
Tue Nov 3 15:57:29 CET 2015


Module: kamailio
Branch: 4.3
Commit: a56e5980e572357f9d3c0152623850c34ddb8963
URL: https://github.com/kamailio/kamailio/commit/a56e5980e572357f9d3c0152623850c34ddb8963

Author: Stefan Mititelu <stefan.mititelu at 1and1.ro>
Committer: Stefan Mititelu <stefan.mititelu at 1and1.ro>
Date: 2015-11-03T16:56:07+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/a56e5980e572357f9d3c0152623850c34ddb8963.diff
Patch: https://github.com/kamailio/kamailio/commit/a56e5980e572357f9d3c0152623850c34ddb8963.patch

---

diff --git a/modules/uac/replace.c b/modules/uac/replace.c
index 1c30fe2..354b2f9 100644
--- a/modules/uac/replace.c
+++ b/modules/uac/replace.c
@@ -128,6 +128,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++;




More information about the sr-dev mailing list