MT#61856 call_interfaces: `call_transform_ng()` add iteration guards

When iterating through medias, check whether there is something in;
- `->streams.head`
- `->selected_sfd`
- `->socket.local.address.family`
before to blidnly appeal to it.

If transform setup can ever produce incomplete media,
this might crash while building the response.

Change-Id: Ie75f20b111634ee3faa0af58c1eebfddbbcc843e
mr26.1
Donat Zenichev 3 weeks ago
parent df56d3c10c
commit 8e527b4148

@ -2512,8 +2512,14 @@ const char *call_transform_ng(ng_command_ctx_t *ctx) {
__auto_type m = l->data;
parser_arg dict = parser->list_add_dict(list);
parser->dict_add_str_dup(dict, "id", &m->media_id);
if (!m->streams.head)
continue;
__auto_type ps = m->streams.head->data;
if (!ps->selected_sfd)
continue;
__auto_type sfd = ps->selected_sfd;
if (!sfd->socket.local.address.family)
continue;
parser->dict_add_str(dict, "family", STR_PTR(sfd->socket.local.address.family->rfc_name));
parser->dict_add_str_dup(dict, "address", STR_PTR(sockaddr_print_buf(&sfd->socket.local.address)));
parser->dict_add_int(dict, "port", sfd->socket.local.port);

Loading…
Cancel
Save