Răsfoiți Sursa

path: set dst udp uri length for decoding received value in alias format

(cherry picked from commit f90640f7cec45a359e996493ae91b1a45d2603e7)
Daniel-Constantin Mierla 4 ani în urmă
părinte
comite
8d6c2b96e8
1 a modificat fișierele cu 6 adăugiri și 3 ștergeri
  1. 6 3
      src/modules/path/path.c

+ 6 - 3
src/modules/path/path.c

@@ -441,10 +441,13 @@ void path_rr_callback(struct sip_msg *_m, str *r_param, void *cb_param)
 						p += 10;
 						memcpy(p, sproto.s, sproto.len);
 						p += sproto.len;
-						*p = '\0';
-						dst_uri.len = p - dst_uri_buf;
-						break;
+					} else {
+						/* go back one byte to overwrite ';' */
+						p--;
 					}
+					*p = '\0';
+					dst_uri.len = p - dst_uri_buf;
+					break;
 				} else {
 					LM_ERR("invalid number of separators (%d)\n", n);
 					goto done;