[sr-dev] git:4.3:1eb9aacf: core: resolve negative index for dset before checking if it is last branch

Daniel-Constantin Mierla miconda at gmail.com
Tue Jun 9 10:40:12 CEST 2015


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

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2015-06-09T10:33:59+02:00

core: resolve negative index for dset before checking if it is last branch

- faster dropping of last branch

(cherry picked from commit f8f40045e1370002076f568a1e73e0b4b67e9d66)

---

Modified: dset.c

---

Diff:  https://github.com/kamailio/kamailio/commit/1eb9aacfc5f5b6936bcd6a4f4f219733c7cb7974.diff
Patch: https://github.com/kamailio/kamailio/commit/1eb9aacfc5f5b6936bcd6a4f4f219733c7cb7974.patch

---

diff --git a/dset.c b/dset.c
index 2fb3b70..46cc40d 100644
--- a/dset.c
+++ b/dset.c
@@ -122,14 +122,14 @@ int drop_sip_branch(int idx)
 		return 0;
 	if(idx<0 && (int)nr_branches+idx<0)
 		return 0;
+	if(idx<0)
+		idx += nr_branches;
 	/* last branch */
 	if(idx==nr_branches-1)
 	{
 		nr_branches--;
 		return 0;
 	}
-	if(idx<0)
-		idx = nr_branches+idx;
 	/* shift back one position */
 	for(; idx<nr_branches-1; idx++)
 		memcpy(&branches[idx], &branches[idx+1], sizeof(branch_t));




More information about the sr-dev mailing list