From c722653c9757b8e0d6491c7247493210bb2dd773 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sun, 16 Jun 2024 18:20:04 +0200 Subject: [PATCH] (steam) avoid strlcat usage --- steam/steam.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/steam/steam.c b/steam/steam.c index a22d485149..bc65709e2e 100644 --- a/steam/steam.c +++ b/steam/steam.c @@ -447,8 +447,9 @@ void steam_update_presence(enum presence presence, bool force) content[_len+2] = '\0'; if (core_info) { - _len = strlcat(content, core_info->systemname, - sizeof(content)); + _len += 2; + _len += strlcpy(content + _len, core_info->systemname, + sizeof(content) - _len); content[_len ] = ')'; content[_len+1] = '\0'; } @@ -468,8 +469,9 @@ void steam_update_presence(enum presence presence, bool force) content[_len+2] = '\0'; if (core_info) { - _len = strlcat(content, core_info->core_name, - sizeof(content)); + _len += 2; + _len += strlcpy(content + _len, core_info->core_name, + sizeof(content) - _len); content[_len ] = ')'; content[_len+1] = '\0'; } @@ -489,13 +491,15 @@ void steam_update_presence(enum presence presence, bool force) content[_len+2] = '\0'; if (core_info) { - _len = strlcat(content, core_info->systemname, - sizeof(content)); + _len += 2; + _len += strlcpy(content + _len, core_info->systemname, + sizeof(content) - _len); content[_len ] = ' '; content[_len+1] = '-'; content[_len+2] = ' '; - _len = strlcat(content, core_info->core_name, - sizeof(content)); + _len += 3; + _len += strlcpy(content + _len, core_info->core_name, + sizeof(content) - _len); content[_len ] = ')'; content[_len+1] = '\0'; }