mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-04-25 06:46:40 -04:00
pw-top: use spa_strbuf to create status bar
There is nothing wrong with the use of strcat here but security tools keep complaining about it and creating bad patches for it so fix it with a strbuf.
This commit is contained in:
parent
135620ab64
commit
b414d2af19
1 changed files with 10 additions and 7 deletions
|
|
@ -581,24 +581,27 @@ static void do_refresh(struct data *d, bool force_refresh)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!d->batch_mode) {
|
if (!d->batch_mode) {
|
||||||
char statusbar[255] = { 0 };
|
char statusbar[255];
|
||||||
|
struct spa_strbuf buf;
|
||||||
|
|
||||||
|
spa_strbuf_init(&buf, statusbar, sizeof(statusbar));
|
||||||
|
|
||||||
if (!((filter->state == PW_NODE_STATE_ERROR) &&
|
if (!((filter->state == PW_NODE_STATE_ERROR) &&
|
||||||
(filter->followers == PW_NODE_STATE_ERROR))) {
|
(filter->followers == PW_NODE_STATE_ERROR))) {
|
||||||
|
|
||||||
strcpy(statusbar, "FILTER: ");
|
spa_strbuf_append(&buf, "FILTER: ");
|
||||||
if (filter->state == PW_NODE_STATE_ERROR)
|
if (filter->state == PW_NODE_STATE_ERROR)
|
||||||
strcat(statusbar, "ALL");
|
spa_strbuf_append(&buf, "ALL");
|
||||||
else for (enum pw_node_state showstate = PW_NODE_STATE_RUNNING; showstate >= PW_NODE_STATE_ERROR; showstate--) {
|
else for (enum pw_node_state showstate = PW_NODE_STATE_RUNNING; showstate >= PW_NODE_STATE_ERROR; showstate--) {
|
||||||
if (showstate >= filter->state)
|
if (showstate >= filter->state)
|
||||||
strcat(statusbar, state_as_string(showstate, SPA_IO_POSITION_STATE_STOPPED));
|
spa_strbuf_append(&buf, "%s", state_as_string(showstate, SPA_IO_POSITION_STATE_STOPPED));
|
||||||
}
|
}
|
||||||
strcat(statusbar, "+");
|
spa_strbuf_append(&buf, "+");
|
||||||
if (filter->followers == PW_NODE_STATE_ERROR)
|
if (filter->followers == PW_NODE_STATE_ERROR)
|
||||||
strcat(statusbar, "ALL");
|
spa_strbuf_append(&buf, "ALL");
|
||||||
else for (enum pw_node_state showstate = PW_NODE_STATE_RUNNING; showstate >= PW_NODE_STATE_ERROR; showstate--) {
|
else for (enum pw_node_state showstate = PW_NODE_STATE_RUNNING; showstate >= PW_NODE_STATE_ERROR; showstate--) {
|
||||||
if (showstate >= filter->followers)
|
if (showstate >= filter->followers)
|
||||||
strcat(statusbar, state_as_string(showstate, SPA_IO_POSITION_STATE_STOPPED));
|
spa_strbuf_append(&buf, "%s", state_as_string(showstate, SPA_IO_POSITION_STATE_STOPPED));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue