MT#55283 move check for destinations

Don't check destination indexes if the non-forwarding flag is set, as
everything would be zero

NGCP-Flow: mr14.1
Change-Id: Ieedf8009c1a9670aba4c57ee988c0dead18a79f1
mr14.1
Richard Fuchs 6 days ago
parent 151b4db6f9
commit 908d5d0f39

@ -2481,25 +2481,26 @@ static int table_new_target(struct rtpengine_table *t, struct rtpengine_target_i
return -EINVAL;
if (i->num_destinations > RTPE_MAX_FORWARD_DESTINATIONS)
return -EINVAL;
for (u = 0; u < RTPE_NUM_OUTPUT_MEDIA; u++) {
if (i->media_output_idxs[u].rtp_start_idx >= i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtp_end_idx > i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtp_end_idx < i->media_output_idxs[u].rtp_start_idx)
return -EINVAL;
if (i->media_output_idxs[u].rtcp_start_idx >= i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtcp_end_idx > i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtcp_end_idx < i->media_output_idxs[u].rtcp_start_idx)
return -EINVAL;
}
if (i->num_payload_types > RTPE_NUM_PAYLOAD_TYPES)
return -EINVAL;
if (!i->non_forwarding) {
if (!i->num_destinations)
return -EINVAL;
for (u = 0; u < RTPE_NUM_OUTPUT_MEDIA; u++) {
printk(KERN_ERR "XXX %d %d\n", __LINE__, i->media_output_idxs[u].rtp_start_idx);
if (i->media_output_idxs[u].rtp_start_idx >= i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtp_end_idx > i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtp_end_idx < i->media_output_idxs[u].rtp_start_idx)
return -EINVAL;
if (i->media_output_idxs[u].rtcp_start_idx >= i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtcp_end_idx > i->num_destinations)
return -EINVAL;
if (i->media_output_idxs[u].rtcp_end_idx < i->media_output_idxs[u].rtcp_start_idx)
return -EINVAL;
}
}
else {
if (i->num_destinations)

Loading…
Cancel
Save