From 5e942e6cecb7ff835539518fec9aa0ccc5e96c4f Mon Sep 17 00:00:00 2001 From: AngeD Date: Mon, 6 Feb 2023 02:03:16 +0100 Subject: [PATCH] fix: replaced strcat * 4 by snprintf --- crypto.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/crypto.c b/crypto.c index 38a9c0b..fa54955 100644 --- a/crypto.c +++ b/crypto.c @@ -34,10 +34,11 @@ static size_t write_callback(char *response, size_t s, size_t n, void *buf) static char* build_url(void) { - static const char base[] = + const char base[] = "https://api.binance.com/api/v3/ticker/price?symbols=["; size_t s = sizeof base; char* url; + char* tmp = (char*)s - 1; for (size_t i = 0; WALLET[i].to; i++) { s += strlen(WALLET[i].from) + strlen(WALLET[i].to) + 3; // ["SYMBOL",] @@ -47,14 +48,9 @@ static char* build_url(void) return 0; } strcpy(url, base); + tmp += (size_t)url; for (size_t i = 0; WALLET[i].to; i++) { - strcat(strcat(strcat(strcat( - url, - "\""), - WALLET[i].from), - WALLET[i].to), - "\"," - ); + tmp += sprintf(tmp, "\"%s%s\",", WALLET[i].from, WALLET[i].to); } url[strlen(url) - 1] = ']'; return url;