From 31c44d06344fd479568cd532adc8d7ff156f8f7e Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Thu, 9 Nov 2023 18:06:22 -0500 Subject: [PATCH] uri.c: Simplify ast_uri_make_host_with_port() --- main/uri.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/main/uri.c b/main/uri.c index 07493699bb..312ab45be2 100644 --- a/main/uri.c +++ b/main/uri.c @@ -299,25 +299,14 @@ struct ast_uri *ast_uri_parse_websocket(const char *uri) char *ast_uri_make_host_with_port(const struct ast_uri *uri) { - int host_size = ast_uri_host(uri) ? - strlen(ast_uri_host(uri)) : 0; - /* if there is a port +1 for the colon */ - int port_size = ast_uri_port(uri) ? - strlen(ast_uri_port(uri)) + 1 : 0; - char *res = ast_malloc(host_size + port_size + 1); + char *res; - if (!res) { + if (ast_asprintf(&res, "%s%s%s", + ast_uri_host(uri) ?: "", + ast_uri_port(uri) ? ":" : "", + ast_uri_port(uri) ?: "") == -1) { return NULL; } - memcpy(res, ast_uri_host(uri), host_size); - - if (ast_uri_port(uri)) { - res[host_size] = ':'; - memcpy(res + host_size + 1, - ast_uri_port(uri), port_size - 1); - } - - res[host_size + port_size] = '\0'; return res; }