mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
pipewire: introspect: do not leave spa_param_infos uninitialized
`pw_reallocarray()` leaves the newly allocated storage (if any)
uninitialized, so fill the bytes of the new `spa_param_info` objects
with zeros in `pw_{node,port,device}_info_merge()` to avoid handing
out pointers to uninitialized storage.
This commit is contained in:
parent
212c574821
commit
4e370151b0
1 changed files with 3 additions and 0 deletions
|
|
@ -212,6 +212,7 @@ struct pw_node_info *pw_node_info_merge(struct pw_node_info *info,
|
|||
}
|
||||
info->n_params = n_params;
|
||||
for (; i < info->n_params; i++) {
|
||||
spa_zero(info->params[i]);
|
||||
info->params[i].id = update->params[i].id;
|
||||
info->params[i].flags = update->params[i].flags;
|
||||
info->params[i].user = 1;
|
||||
|
|
@ -285,6 +286,7 @@ struct pw_port_info *pw_port_info_merge(struct pw_port_info *info,
|
|||
}
|
||||
info->n_params = n_params;
|
||||
for (; i < info->n_params; i++) {
|
||||
spa_zero(info->params[i]);
|
||||
info->params[i].id = update->params[i].id;
|
||||
info->params[i].flags = update->params[i].flags;
|
||||
info->params[i].user = 1;
|
||||
|
|
@ -448,6 +450,7 @@ struct pw_device_info *pw_device_info_merge(struct pw_device_info *info,
|
|||
}
|
||||
info->n_params = n_params;
|
||||
for (; i < info->n_params; i++) {
|
||||
spa_zero(info->params[i]);
|
||||
info->params[i].id = update->params[i].id;
|
||||
info->params[i].flags = update->params[i].flags;
|
||||
info->params[i].user = 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue