diff --git a/kernel-module/nft_rtpengine.c b/kernel-module/nft_rtpengine.c index 8d54fe471..e2bf71d04 100644 --- a/kernel-module/nft_rtpengine.c +++ b/kernel-module/nft_rtpengine.c @@ -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)