Merge branch 'fzx-dev' into 'master'

tools: replace strcpy/strcat with snprintf

See merge request pipewire/pipewire!2789
This commit is contained in:
fzx-h 2026-04-16 08:59:04 +00:00
commit e9befb129e
2 changed files with 12 additions and 11 deletions

View file

@ -1107,12 +1107,12 @@ static int metadata_property(void *data,
e->subject = subject; e->subject = subject;
e->key = SPA_PTROFF(e, sizeof(*e), void); e->key = SPA_PTROFF(e, sizeof(*e), void);
strcpy(e->key, key); memcpy(e->key, key, strlen(key) + 1);
e->value = SPA_PTROFF(e->key, strlen(e->key) + 1, void); e->value = SPA_PTROFF(e->key, strlen(key) + 1, void);
strcpy(e->value, value); memcpy(e->value, value, strlen(value) + 1);
if (type) { if (type) {
e->type = SPA_PTROFF(e->value, strlen(e->value) + 1, void); e->type = SPA_PTROFF(e->value, strlen(value) + 1, void);
strcpy(e->type, type); memcpy(e->type, type, strlen(type) + 1);
} else { } else {
e->type = NULL; e->type = NULL;
} }

View file

@ -582,23 +582,24 @@ static void do_refresh(struct data *d, bool force_refresh)
if (!d->batch_mode) { if (!d->batch_mode) {
char statusbar[255] = { 0 }; char statusbar[255] = { 0 };
int len = 0;
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: "); len = snprintf(statusbar, sizeof(statusbar), "FILTER: ");
if (filter->state == PW_NODE_STATE_ERROR) if (filter->state == PW_NODE_STATE_ERROR)
strcat(statusbar, "ALL"); len += snprintf(statusbar + len, sizeof(statusbar) - len, "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)); len += snprintf(statusbar + len, sizeof(statusbar) - len, "%s", state_as_string(showstate, SPA_IO_POSITION_STATE_STOPPED));
} }
strcat(statusbar, "+"); len += snprintf(statusbar + len, sizeof(statusbar) - len, "+");
if (filter->followers == PW_NODE_STATE_ERROR) if (filter->followers == PW_NODE_STATE_ERROR)
strcat(statusbar, "ALL"); len += snprintf(statusbar + len, sizeof(statusbar) - len, "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)); len += snprintf(statusbar + len, sizeof(statusbar) - len, "%s", state_as_string(showstate, SPA_IO_POSITION_STATE_STOPPED));
} }
} }