From 6d6d79cb75fca324072be58bf0b70061a9f5d16d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 21 Feb 2018 12:07:37 +0100 Subject: [PATCH] url: Fix the RTP SSM URL recompose, fixes #4961 --- src/url.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/url.c b/src/url.c index b742b3b7e..94441fdcd 100644 --- a/src/url.c +++ b/src/url.c @@ -59,11 +59,12 @@ urlrecompose( url_t *url ) { size_t len; char *raw, port[16]; - const int auth = url->user && url->user[0] && - url->pass && url->pass[0]; + const int user = url->user && url->user[0]; + const int pass = url->pass && url->pass[0]; len = (url->scheme ? strlen(url->scheme) : 0) + 4 + - (auth ? (strlen(url->user) + strlen(url->pass) + 2) : 0) + + (user ? strlen(url->user) + 1 : 0) + + (pass ? strlen(url->pass) + 1 : 0) + (url->host ? strlen(url->host) : 0) + (url->port > 0 ? 6 : 0) + (url->path ? strlen(url->path) : 0) + @@ -77,10 +78,10 @@ urlrecompose( url_t *url ) port[0] = '\0'; snprintf(raw, len, "%s%s%s%s%s%s%s%s%s%s%s", url->scheme ?: "", url->scheme ? "://" : "", - auth ? url->user : "", - auth ? ":" : "", - auth ? url->pass : "", - auth ? "@" : "", + user ? url->user : "", + (user && pass) ? ":" : "", + (user && pass) ? url->pass : "", + user ? "@" : "", url->host ?: "", port, url->path ?: "", (url->query && url->query[0]) ? "?" : "", -- 2.47.3