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'; }